NSURLSessionTaskTransactionMetrics

NSURLSessionTaskTransactionMetrics 相關

封裝在執(zhí)行會話任務期間收集的性能指標的對象。

每個NSURLSessionTaskTransactionMetrics對象由一個請求和響應屬性組成,對應于相應任務的請求和響應。

它還包含時間度量,從fetchStartDate開始,以responseEndDate結束,以及其他特征,如networkProtocolName和resourceFetchType。

該類定義在任務執(zhí)行期間為請求/響應事務收集的性能指標。

typedef NS_ENUM(NSInteger, NSURLSessionTaskMetricsResourceFetchType) {
    NSURLSessionTaskMetricsResourceFetchTypeUnknown, 無法確定獲取資源的方式。
    NSURLSessionTaskMetricsResourceFetchTypeNetworkLoad,  資源是通過網絡加載的。
    NSURLSessionTaskMetricsResourceFetchTypeServerPush,   資源由服務器推送到客戶機。
    NSURLSessionTaskMetricsResourceFetchTypeLocalCache,  從本地存儲中檢索資源。
} API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0));

NSURLSessionTaskTransactionMetrics 相關屬性方法

@property (copy, readonly) NSURLRequest *request;
事務請求。
表示事務請求。
@property (nullable, copy, readonly) NSURLResponse *response;
事務響應。
如果發(fā)生錯誤而沒有生成響應,則此屬性為nil。
表示事務響應。如果發(fā)生錯誤且沒有生成響應,則可以為nil。
@property (nullable, copy, readonly) NSDate *fetchStartDate;
任務開始從服務器或本地獲取資源的時間。
@property (nullable, copy, readonly) NSDate *domainLookupStartDate;
任務開始查找資源名稱之前的時間。
如果使用持久連接,或者從本地資源檢索資源,則此值為nil。
@property (nullable, copy, readonly) NSDate *domainLookupEndDate;
名稱查找完成后的時間。
如果使用持久連接,或者從本地資源檢索資源,則此值為nil。
@property (nullable, copy, readonly) NSDate *connectStartDate;
任務開始建立到服務器的TCP連接之前的時間。
如果使用持久連接,或者從本地資源檢索資源,則此值為nil。
connectStartDate是用戶代理開始建立到服務器的連接之前的時間。
例如,這將對應于用戶代理開始嘗試建立TCP連接之前的時間。
@property (nullable, copy, readonly) NSDate *secureConnectionStartDate;
任務啟動TLS安全握手以保護當前連接之前的時間。
如果未使用加密連接、使用持久連接或從本地資源檢索資源,則此值為nil。
如果使用加密連接,secureConnectionStartDate是用戶代理啟動安全握手以保護當前連接之前的時間。
例如,這將對應于用戶代理開始TLS握手之前的時間。
如果未使用加密連接,則將此屬性設置為nil。
@property (nullable, copy, readonly) NSDate *secureConnectionEndDate;
安全握手完成后立即發(fā)生的時間。
如果未使用加密連接、使用持久連接或從本地資源檢索資源,則此值為nil。
如果使用加密連接,secureConnectionEndDate是安全握手完成后的立即時間。
如果未使用加密連接,則將此屬性設置為nil。
@property (nullable, copy, readonly) NSDate *connectEndDate;
任務完成后立即建立到服務器的連接的時間。
此值用于完成與安全性相關的握手和其他握手。如果使用持久連接,或者從本地資源檢索資源,則該值為nil。
connectEndDate是用戶代理完成與服務器的連接后的立即時間,包括完成與安全性相關的握手和其他握手。
@property (nullable, copy, readonly) NSDate *requestStartDate;
任務開始請求資源之前的時間,無論從服務器還是本地資源檢索資源。
例如,這將對應于用戶代理發(fā)送HTTP GET請求之前的時間。
@property (nullable, copy, readonly) NSDate *requestEndDate;
任務完成后立即請求資源的時間,無論它是從服務器或本地資源檢索到的。
requestEndDate是用戶代理完成對源的請求后立即出現的時間,不管是從服務器檢索到的資源還是本地資源。
例如,這將對應于用戶代理完成發(fā)送請求的最后一個字節(jié)后的立即時間。
@property (nullable, copy, readonly) NSDate *responseStartDate;
任務從服務器或本地資源接收到響應的第一個字節(jié)后的立即時間。
例如,這將對應于用戶代理收到HTTP響應的第一個字節(jié)后的立即時間。
@property (nullable, copy, readonly) NSDate *responseEndDate;
任務接收到資源的最后一個字節(jié)后的立即時間。
responseEndDate是用戶代理收到資源的最后一個字節(jié)后的立即時間。
@property (nullable, copy, readonly) NSString *networkProtocolName;
用于獲取資源的網絡協(xié)議。
當配置代理并建立隧道連接時,該屬性返回隧道協(xié)議的值,該值由ALPN協(xié)議ID標識序列標識,如RFC 7310所示。例如:
如果沒有使用代理,并且協(xié)商了HTTP/2,則返回h2。
如果代理使用HTTP/1.1,并且隧道連接是HTTP/2,則返回h2。
如果代理使用HTTP/1.1,并且沒有通道,則返回HTTP/1.1。
@property (assign, readonly, getter=isProxyConnection) BOOL proxyConnection;
一個布爾值,指示是否使用代理連接來獲取資源。
如果使用代理連接獲取資源,則將此屬性設置為YES。
@property (assign, readonly, getter=isReusedConnection) BOOL reusedConnection;
一個布爾值,指示是否使用持久連接來獲取資源。
如果使用持久連接獲取資源,則將此屬性設置為YES。
@property (assign, readonly) NSURLSessionTaskMetricsResourceFetchType resourceFetchType;
一個值,指示是否從本地緩存加載、推送或檢索資源。
指示是否從本地緩存加載、推送或檢索資源。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,689評論 1 32
  • 國家電網公司企業(yè)標準(Q/GDW)- 面向對象的用電信息數據交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,537評論 6 13
  • Getting Started Burp Suite 是用于攻擊web 應用程序的集成平臺。它包含了許多工具,并為...
    Eva_chenx閱讀 29,263評論 0 14
  • 人生若只如初見,何事秋風悲畫扇。 等閑變卻故人心,卻道故人心易變。 納蘭的詞,如同他的人,萬千味道。時光柔軟了男人...
    半城離火閱讀 412評論 4 4
  • 白天登頂(仙都頂一湖峰) 晚飯后閑來無事,兩人手牽手走在鄉(xiāng)村道上灬 沒有路燈,唯有柔和的月光把道路兩旁的樹木倒...
    芷苡閱讀 441評論 0 1

友情鏈接更多精彩內容