RequestFinishedInfo.Metrics

public abstract class RequestFinishedInfo.Metrics


किसी एक अनुरोध के लिए इकट्ठा की गई मेट्रिक. इनमें से ज़्यादातर मेट्रिक, अनुरोध के पूरे समय के दौरान होने वाले इवेंट के टाइमस्टैंप होते हैं. इनका इस्तेमाल, परफ़ॉर्मेंस की जांच करने के लिए ज़्यादा जानकारी वाली टाइमलाइन बनाने के लिए किया जा सकता है.

इवेंट इस क्रम में होते हैं:

  1. request start
  2. DNS start
  3. DNS end
  4. connect start
  5. SSL start
  6. SSL end
  7. connect end
  8. sending start
  9. sending end
  10. response start
  11. request end
शुरू होने के समय को उस समय के तौर पर रिपोर्ट किया जाता है जब इवेंट पर अनुरोध ब्लॉक होना शुरू हुआ था. न कि उस समय के तौर पर जब इवेंट असल में हुआ था. हालांकि, पुश स्टार्ट और पुश एंड के मामले में ऐसा नहीं होता. अगर कोई मेट्रिक काम की नहीं है या उपलब्ध नहीं है, तो शुरू और खत्म होने का समय null होगा. ऐसा तब भी होता है, जब कोई अनुरोध उस चरण तक पहुंचने से पहले ही पूरा हो जाता है. अगर किसी इवेंट को ब्लॉक करने में कोई समय नहीं लगा है, तो शुरू और खत्म होने का समय एक ही होगा.

अगर अनुरोध के दौरान सिस्टम क्लॉक में बदलाव किया जाता है, तो हो सकता है कि java.util.Date की कुछ वैल्यू उससे मेल न खाएं. टाइमस्टैंप को ऐसी घड़ी का इस्तेमाल करके रिकॉर्ड किया जाता है जो कभी पीछे नहीं चलती. अनुरोध शुरू होने के समय, सिस्टम क्लॉक के हिसाब से सभी टाइमस्टैंप सही हैं. साथ ही, दो टाइमस्टैंप के बीच का अंतर निकालने पर, इवेंट के बीच का सही अंतर मिलेगा. इस प्रॉपर्टी को बनाए रखने के लिए, अनुरोध शुरू होने के अलावा अन्य इवेंट के टाइमस्टैंप, सिस्टम क्लॉक से मेल नहीं खाते.

टाइमिंग से जुड़ी ज़्यादातर मेट्रिक, LoadTimingInfo से ली जाती हैं. इसमें और की जानकारी होती है.

खास जानकारी

सार्वजनिक कंस्ट्रक्टर

पब्लिक मेथड

abstract @Nullable Date

कनेक्शन बनने के बाद का समय दिखाता है.

abstract @Nullable Date

कनेक्शन शुरू होने का समय दिखाता है.

abstract @Nullable Date

यह फ़ंक्शन, डीएनएस लुकअप पूरा होने का समय दिखाता है.

abstract @Nullable Date

यह फ़ंक्शन, डीएनएस लुकअप शुरू होने का समय दिखाता है.

abstract @Nullable Date

यह कुकी, उस समय की जानकारी देती है जब HTTP/2 सर्वर पुश का आखिरी बाइट मिला था.

abstract @Nullable Date

यह कुकी, उस समय की जानकारी देती है जब एचटीटीपी/2 सर्वर पुश की पहली बाइट मिली थी.

abstract @Nullable Long

यह फ़ंक्शन, नेटवर्क ट्रांसपोर्ट लेयर पर मिले कुल बाइट दिखाता है. अगर यह डेटा इकट्ठा नहीं किया जाता है, तो null दिखाता है.

abstract @Nullable Date

अनुरोध पूरा होने का समय दिखाता है.

abstract @Nullable Date

अनुरोध शुरू होने का समय दिखाता है.

abstract @Nullable Date

जवाब के हेडर के आखिर में मिले समय की जानकारी देता है.

abstract @Nullable Date

अनुरोध भेजने की प्रोसेस पूरी होने का समय दिखाता है.

abstract @Nullable Date

अनुरोध भेजने की प्रोसेस शुरू होने का समय दिखाता है.

abstract @Nullable Long

यह फ़ंक्शन, नेटवर्क ट्रांसपोर्ट लेयर पर भेजे गए कुल बाइट दिखाता है. अगर यह डेटा इकट्ठा नहीं किया जाता है, तो null दिखाता है.

abstract boolean

इससे यह पता चलता है कि सॉकेट का इस्तेमाल पिछले अनुरोध में किया गया था या नहीं.

abstract @Nullable Date

यह कुकी, एसएसएल हैंडशेक पूरा होने का समय दिखाती है.

abstract @Nullable Date

यह कुकी, एसएसएल हैंडशेक शुरू होने का समय दिखाती है.

abstract @Nullable Long

यह कुकी, अनुरोध शुरू होने और पूरा होने के बीच का समय (मिलीसेकंड में) दिखाती है. इसमें अनुरोध के पूरा न होने या रद्द होने का समय भी शामिल होता है. अगर यह जानकारी इकट्ठा नहीं की जाती है, तो null दिखता है.

abstract @Nullable Long

अनुरोध शुरू होने और जवाब के हेडर के पहले बाइट के बीच का समय, मिलीसेकंड में दिखाता है. अगर यह डेटा इकट्ठा नहीं किया गया है, तो null दिखाता है.

सार्वजनिक कंस्ट्रक्टर

मेट्रिक

public Metrics()

पब्लिक मेथड

getConnectEnd

public abstract @Nullable Date getConnectEnd()

कनेक्शन बनने के बाद का समय दिखाता है.

रिटर्न
@Nullable Date

java.util.Date यह कुकी, कनेक्शन कब पूरा हुआ, यह दिखाती है. यह टीसीपी कनेक्शन के बन जाने और एचटीटीपीएस का इस्तेमाल करने पर, एसएसएल हैंडशेक के पूरा होने के बाद सेट होती है. QUIC 0-RTT के लिए, यह हैंडशेक की पुष्टि होने का समय दिखाता है. यह getSendingStart के बाद हो सकता है. अगर सॉकेट का दोबारा इस्तेमाल किया गया हो, तो null (getSocketReused देखें).

getConnectStart

public abstract @Nullable Date getConnectStart()

कनेक्शन शुरू होने का समय दिखाता है.

रिटर्न
@Nullable Date

java.util.Date से पता चलता है कि कनेक्शन कब शुरू हुआ. आम तौर पर, यह डीएनएस रिज़ॉल्यूशन के खत्म होने के बाद शुरू होता है. अगर सॉकेट का दोबारा इस्तेमाल किया गया हो, तो null (getSocketReused देखें).

getDnsEnd

public abstract @Nullable Date getDnsEnd()

यह फ़ंक्शन, डीएनएस लुकअप पूरा होने का समय दिखाता है. यह और getDnsStart, दोनों ही नॉन-नल वैल्यू दिखाएंगे. इससे कोई फ़र्क़ नहीं पड़ता कि नतीजा डीएनएस सर्वर से मिला है या लोकल कैश मेमोरी से.

रिटर्न
@Nullable Date

java.util.Date से पता चलता है कि डीएनएस लुकअप कब पूरा हुआ. अगर सॉकेट का दोबारा इस्तेमाल किया गया हो, तो null (getSocketReused देखें).

getDnsStart

public abstract @Nullable Date getDnsStart()

यह फ़ंक्शन, डीएनएस लुकअप शुरू होने का समय दिखाता है. यह और getDnsEnd, दोनों ही नॉन-नल वैल्यू दिखाएंगे. इससे कोई फ़र्क़ नहीं पड़ता कि नतीजा डीएनएस सर्वर से मिला है या लोकल कैश मेमोरी से.

रिटर्न
@Nullable Date

java.util.Date से पता चलता है कि डीएनएस लुकअप कब शुरू हुआ. अगर सॉकेट का दोबारा इस्तेमाल किया गया हो, तो null (getSocketReused देखें).

getPushEnd

public abstract @Nullable Date getPushEnd()

यह कुकी, उस समय की जानकारी देती है जब HTTP/2 सर्वर पुश का आखिरी बाइट मिला था.

रिटर्न
@Nullable Date

java.util.Date से पता चलता है कि HTTP/2 सर्वर पुश का आखिरी बाइट कब मिला. null अगर सर्वर पुश का इस्तेमाल नहीं किया जाता है.

getPushStart

public abstract @Nullable Date getPushStart()

यह कुकी, उस समय की जानकारी देती है जब एचटीटीपी/2 सर्वर पुश की पहली बाइट मिली थी.

रिटर्न
@Nullable Date

java.util.Date से पता चलता है कि एचटीटीपी/2 सर्वर पुश का पहला बाइट कब मिला. null अगर सर्वर पुश का इस्तेमाल नहीं किया जाता है.

getReceivedByteCount

public abstract @Nullable Long getReceivedByteCount()

यह फ़ंक्शन, नेटवर्क ट्रांसपोर्ट लेयर पर मिले कुल बाइट दिखाता है. अगर यह डेटा इकट्ठा नहीं किया जाता है, तो null दिखाता है. बाइट की संख्या में, पिछले रीडायरेक्ट शामिल नहीं होते.

getRequestEnd

public abstract @Nullable Date getRequestEnd()

अनुरोध पूरा होने का समय दिखाता है.

रिटर्न
@Nullable Date

java.util.Date से अनुरोध पूरा होने का समय पता चलता है.

getRequestStart

public abstract @Nullable Date getRequestStart()

अनुरोध शुरू होने का समय दिखाता है.

रिटर्न
@Nullable Date

java.util.Date दिखाता है कि नेटिव अनुरोध कब शुरू हुआ. यह टाइमस्टैंप, उस समय सिस्टम क्लॉक से मैच करेगा.

getResponseStart

public abstract @Nullable Date getResponseStart()

जवाब के हेडर के आखिर में मिले समय की जानकारी देता है.

रिटर्न
@Nullable Date

java.util.Date से पता चलता है कि रिस्पॉन्स हेडर कब खत्म हुए.

getSendingEnd

public abstract @Nullable Date getSendingEnd()

अनुरोध भेजने की प्रोसेस पूरी होने का समय दिखाता है.

रिटर्न
@Nullable Date

java.util.Date यह दिखाता है कि एचटीटीपी अनुरोध की बॉडी भेजने का काम कब पूरा हुआ. (अनुरोध के हेडर भेजने के बाद, अनुरोध का मुख्य हिस्सा भेजा जाता है.)

getSendingStart

public abstract @Nullable Date getSendingStart()

अनुरोध भेजने की प्रोसेस शुरू होने का समय दिखाता है.

रिटर्न
@Nullable Date

java.util.Date से पता चलता है कि एचटीटीपी अनुरोध के हेडर कब भेजे जाने शुरू हुए.

getSentByteCount

public abstract @Nullable Long getSentByteCount()

यह फ़ंक्शन, नेटवर्क ट्रांसपोर्ट लेयर पर भेजे गए कुल बाइट दिखाता है. अगर यह डेटा इकट्ठा नहीं किया जाता है, तो null दिखाता है.

getSocketReused

public abstract boolean getSocketReused()

इससे यह पता चलता है कि सॉकेट का इस्तेमाल पिछले अनुरोध में किया गया था या नहीं. अगर एचटीटीपी/2 या QUIC में, स्ट्रीम को एक ही कनेक्शन में मल्टीप्लेक्स किया जाता है, तो पहली स्ट्रीम के बाद की सभी स्ट्रीम के लिए true दिखाता है.

रिटर्न
boolean

क्या इस अनुरोध में, पिछले अनुरोध के सॉकेट का फिर से इस्तेमाल किया गया है. जब true, तो डीएनएस, कनेक्शन, और एसएसएल के समय null होगा.

getSslEnd

public abstract @Nullable Date getSslEnd()

यह कुकी, एसएसएल हैंडशेक पूरा होने का समय दिखाती है. QUIC के लिए, यह समय getConnectEnd के बराबर होगा.

रिटर्न
@Nullable Date

java.util.Date से पता चलता है कि एसएसएल हैंडशेक कब पूरा हुआ. null अगर एसएसएल का इस्तेमाल नहीं किया गया है या सॉकेट का फिर से इस्तेमाल किया गया है (getSocketReused देखें).

getSslStart

public abstract @Nullable Date getSslStart()

यह कुकी, एसएसएल हैंडशेक शुरू होने का समय दिखाती है. QUIC के लिए, यह समय getConnectStart के बराबर होगा.

रिटर्न
@Nullable Date

java.util.Date यह बताता है कि एसएसएल हैंडशेक कब शुरू हुआ. null अगर एसएसएल का इस्तेमाल नहीं किया गया है या सॉकेट का फिर से इस्तेमाल किया गया है (getSocketReused देखें).

getTotalTimeMs

public abstract @Nullable Long getTotalTimeMs()

यह कुकी, अनुरोध शुरू होने और पूरा होने के बीच का समय (मिलीसेकंड में) दिखाती है. इसमें अनुरोध के पूरा न होने या रद्द होने का समय भी शामिल होता है. अगर यह जानकारी इकट्ठा नहीं की जाती है, तो null दिखता है. TODO(mgersh): Remove once new API works http://crbug.com/629194

getTtfbMs

public abstract @Nullable Long getTtfbMs()

अनुरोध शुरू होने और जवाब के हेडर के पहले बाइट के बीच का समय, मिलीसेकंड में दिखाता है. अगर यह डेटा इकट्ठा नहीं किया गया है, तो null दिखाता है. TODO(mgersh): Remove once new API works http://crbug.com/629194