RequestFinishedInfo.Metrics

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 থেকে নেওয়া হয়, যা নিম্নলিখিত তথ্য ধারণ করে। এবং .

সারসংক্ষেপ

সরকারি নির্মাণকারী

Metrics ()

জনসাধারণের কার্যাবলী

abstract Date ?

সংযোগ স্থাপন সম্পন্ন হওয়ার সময় ফেরত দেয়।

abstract Date ?

সংযোগ স্থাপন শুরু হওয়ার সময় ফেরত দেয়।

abstract Date ?

ডিএনএস অনুসন্ধান শেষ হওয়ার সময় ফেরত দেয়।

abstract Date ?

ডিএনএস অনুসন্ধান শুরু হওয়ার সময় ফেরত দেয়।

abstract Date ?

HTTP/2 সার্ভার পুশ-এর শেষ বাইটটি কখন গৃহীত হয়েছিল, সেই সময়টি ফেরত দেয়।

abstract Date ?

HTTP/2 সার্ভার পুশ-এর প্রথম বাইটটি গৃহীত হওয়ার সময় ফেরত দেয়।

abstract Long ?

নেটওয়ার্ক ট্রান্সপোর্ট লেয়ারের মাধ্যমে প্রাপ্ত মোট বাইট ফেরত দেয়, অথবা সংগৃহীত না হলে null ফেরত দেয়।

abstract Date ?

অনুরোধটি কখন শেষ হয়েছে তার সময় ফেরত দেয়।

abstract Date ?

অনুরোধটি কখন শুরু হয়েছিল তার সময় ফেরত দেয়।

abstract Date ?

রেসপন্স হেডারগুলোর শেষাংশ প্রাপ্ত হওয়ার সময়টি ফেরত দেয়।

abstract Date ?

অনুরোধ পাঠানো শেষ হলে সময় ফেরত দেয়।

abstract Date ?

অনুরোধ পাঠানো শুরু হওয়ার সময় ফেরত দেয়।

abstract Long ?

নেটওয়ার্ক ট্রান্সপোর্ট লেয়ারের মাধ্যমে প্রেরিত মোট বাইট ফেরত দেয়, অথবা সংগৃহীত না হলে null ফেরত দেয়।

abstract Boolean

সকেটটি পূর্ববর্তী অনুরোধ থেকে পুনরায় ব্যবহার করা হয়েছিল কিনা তা ফেরত দেয়।

abstract Date ?

SSL হ্যান্ডশেক শেষ হওয়ার সময় ফেরত দেয়।

abstract Date ?

এসএসএল হ্যান্ডশেক শুরু হওয়ার সময় ফেরত দেয়।

abstract Long ?

অনুরোধ শুরু হওয়া এবং শেষ হওয়ার মধ্যবর্তী সময় (ব্যর্থতা বা বাতিলকরণ সহ) মিলিসেকেন্ডে ফেরত দেয়, অথবা সংগৃহীত না হলে null ফেরত দেয়।

abstract Long ?

অনুরোধ শুরু এবং প্রতিক্রিয়া হেডারের প্রথম বাইটের মধ্যবর্তী সময় মিলিসেকেন্ডে ফেরত দেয়, অথবা সংগৃহীত না হলে null ফেরত দেয়।

সরকারি নির্মাণকারী

মেট্রিক্স

Metrics()

জনসাধারণের কার্যাবলী

getConnectEnd

abstract fun getConnectEnd(): Date?

সংযোগ স্থাপন সম্পন্ন হওয়ার সময় ফেরত দেয়।

ফেরত
Date ?

java.util.Date হলো সেই সময় যখন TCP সংযোগ স্থাপিত হওয়ার পর এবং, HTTPS ব্যবহার করা হলে, SSL হ্যান্ডশেক সম্পন্ন হওয়ার পর সংযোগ স্থাপন শেষ হয়। QUIC 0-RTT-এর ক্ষেত্রে, এটি হ্যান্ডশেক নিশ্চিতকরণের সময়কে বোঝায় এবং getSendingStart পরেও হতে পারে। সকেটটি পুনরায় ব্যবহার করা হলে null ( getSocketReused দেখুন)।

getConnectStart

abstract fun getConnectStart(): Date?

সংযোগ স্থাপন শুরু হওয়ার সময় ফেরত দেয়।

ফেরত
Date ?

java.util.Date যা সংযোগ স্থাপন শুরুর সময়কে নির্দেশ করে, সাধারণত যখন DNS রেজোলিউশন শেষ হয়। সকেটটি পুনরায় ব্যবহার করা হলে null ( getSocketReused দেখুন)।

getDnsEnd

abstract fun getDnsEnd(): Date?

ডিএনএস অনুসন্ধান শেষ হওয়ার সময় ফেরত দেয়। ফলাফলটি ডিএনএস সার্ভার থেকে এসেছে নাকি স্থানীয় ক্যাশে থেকে, তা নির্বিশেষে এটি এবং getDnsStart অ-নাল (non-null) মান ফেরত দেবে।

ফেরত
Date ?

java.util.Date যা নির্দেশ করে কখন DNS অনুসন্ধান শেষ হয়েছে। সকেটটি পুনরায় ব্যবহার করা হলে null ( getSocketReused দেখুন)।

getDnsStart

abstract fun getDnsStart(): Date?

ডিএনএস অনুসন্ধান শুরু হওয়ার সময় ফেরত দেয়। ফলাফলটি ডিএনএস সার্ভার থেকে এসেছে নাকি স্থানীয় ক্যাশে থেকে, তা নির্বিশেষে এটি এবং getDnsEnd অ-নাল (non-null) মান ফেরত দেবে।

ফেরত
Date ?

java.util.Date যা নির্দেশ করে কখন DNS অনুসন্ধান শুরু হয়েছিল। সকেটটি পুনরায় ব্যবহার করা হলে null ( getSocketReused দেখুন)।

getPushEnd

abstract fun getPushEnd(): Date?

HTTP/2 সার্ভার পুশ-এর শেষ বাইটটি কখন গৃহীত হয়েছিল, সেই সময়টি ফেরত দেয়।

ফেরত
Date ?

java.util.Date যা নির্দেশ করে কখন একটি HTTP/2 সার্ভার পুশ-এর শেষ বাইটটি গৃহীত হয়েছিল। সার্ভার পুশ ব্যবহৃত না হলে null

getPushStart

abstract fun getPushStart(): Date?

HTTP/2 সার্ভার পুশ-এর প্রথম বাইটটি গৃহীত হওয়ার সময় ফেরত দেয়।

ফেরত
Date ?

java.util.Date যা নির্দেশ করে কখন একটি HTTP/2 সার্ভার পুশ-এর প্রথম বাইট গৃহীত হয়েছিল। সার্ভার পুশ ব্যবহৃত না হলে null

getReceivedByteCount

abstract fun getReceivedByteCount(): Long?

নেটওয়ার্ক ট্রান্সপোর্ট লেয়ারের মাধ্যমে প্রাপ্ত মোট বাইট ফেরত দেয়, অথবা সংগৃহীত না হলে null ফেরত দেয়। এই বাইটের সংখ্যায় পূর্ববর্তী কোনো রিডাইরেক্ট অন্তর্ভুক্ত থাকে না।

অনুরোধ শেষ করুন

abstract fun getRequestEnd(): Date?

অনুরোধটি কখন শেষ হয়েছে তার সময় ফেরত দেয়।

ফেরত
Date ?

java.util.Date যা অনুরোধটি শেষ হওয়ার সময়কে নির্দেশ করে।

অনুরোধ শুরু করুন

abstract fun getRequestStart(): Date?

অনুরোধটি কখন শুরু হয়েছিল তার সময় ফেরত দেয়।

ফেরত
Date ?

java.util.Date হলো সেই সময় যা নেটিভ অনুরোধটি প্রকৃতপক্ষে শুরু হয়েছিল। এই টাইমস্ট্যাম্পটি তার প্রতিনিধিত্বকারী সময়ে সিস্টেম ঘড়ির সাথে মিলবে।

getResponseStart

abstract fun getResponseStart(): Date?

রেসপন্স হেডারগুলোর শেষাংশ প্রাপ্ত হওয়ার সময়টি ফেরত দেয়।

ফেরত
Date ?

java.util.Date যা নির্দেশ করে কখন রেসপন্স হেডারগুলোর শেষাংশ পাওয়া গেছে।

প্রেরণ শেষ

abstract fun getSendingEnd(): Date?

অনুরোধ পাঠানো শেষ হলে সময় ফেরত দেয়।

ফেরত
Date ?

java.util.Date যা নির্দেশ করে কখন HTTP অনুরোধের মূল অংশ পাঠানো শেষ হয়েছে। (অনুরোধের হেডার পাঠানোর পরে অনুরোধের মূল অংশ পাঠানো হয়।)

getSendingStart

abstract fun getSendingStart(): Date?

অনুরোধ পাঠানো শুরু হওয়ার সময় ফেরত দেয়।

ফেরত
Date ?

java.util.Date যা নির্দেশ করে কখন HTTP অনুরোধ হেডার পাঠানো শুরু হয়েছিল।

getSentByteCount

abstract fun getSentByteCount(): Long?

নেটওয়ার্ক ট্রান্সপোর্ট লেয়ারের মাধ্যমে প্রেরিত মোট বাইট ফেরত দেয়, অথবা সংগৃহীত না হলে null ফেরত দেয়।

getSocketReused

abstract fun getSocketReused(): Boolean

সকেটটি পূর্ববর্তী কোনো অনুরোধ থেকে পুনরায় ব্যবহার করা হয়েছিল কিনা তা ফেরত দেয়। HTTP/2 বা QUIC-এ, যদি একটি একক সংযোগে স্ট্রিমগুলি মাল্টিপ্লেক্স করা হয়, তবে প্রথমটির পরের সমস্ত স্ট্রিমের জন্য true ফেরত দেয়।

ফেরত
Boolean

এই অনুরোধটি পূর্ববর্তী কোনো অনুরোধ থেকে সকেট পুনঃব্যবহার করেছে কিনা। এর true হলে, DNS, সংযোগ এবং SSL টাইম null হবে।

getSslEnd

abstract fun getSslEnd(): Date?

SSL হ্যান্ডশেক শেষ হওয়ার সময় ফেরত দেয়। QUIC-এর ক্ষেত্রে, এই সময়টি getConnectEnd সময়ের সমান হবে।

ফেরত
Date ?

java.util.Date যা SSL হ্যান্ডশেক শেষ হওয়ার সময়কে নির্দেশ করে। যদি SSL ব্যবহার করা না হয় অথবা সকেটটি পুনরায় ব্যবহার করা হয় ( getSocketReused দেখুন), তবে null

getSslStart

abstract fun getSslStart(): Date?

SSL হ্যান্ডশেক শুরু হওয়ার সময় ফেরত দেয়। QUIC-এর ক্ষেত্রে, এই সময়টি getConnectStart এর সময়ের সমান হবে।

ফেরত
Date ?

java.util.Date যা SSL হ্যান্ডশেক শুরুর সময়কে নির্দেশ করে। যদি SSL ব্যবহৃত না হয় অথবা সকেটটি পুনরায় ব্যবহার করা হয় ( getSocketReused দেখুন), তবে null

getTotalTimeMs

abstract fun getTotalTimeMs(): Long?

অনুরোধ শুরু এবং শেষ হওয়ার মধ্যবর্তী সময় মিলিসেকেন্ডে ফেরত দেয়, যার মধ্যে ব্যর্থতা বা বাতিলকরণও অন্তর্ভুক্ত থাকে, অথবা সংগৃহীত না হলে null ফেরত দেয়। করণীয় (mgersh): নতুন API কাজ করলে সরিয়ে ফেলুন http://crbug.com/629194

getTtfbMs

abstract fun getTtfbMs(): Long?

অনুরোধ শুরু এবং প্রতিক্রিয়া হেডারের প্রথম বাইটের মধ্যবর্তী সময় মিলিসেকেন্ডে ফেরত দেয়, অথবা সংগৃহীত না হলে null ফেরত দেয়। করণীয় (mgersh): নতুন API কাজ করলে এটি সরিয়ে ফেলুন http://crbug.com/629194