The Chromium Chronicle #20: मानदंड टेस्ट हार्नेस

एपिसोड 20: बेलव्यू, वॉशिंगटन में जॉन चेन का गाना (अप्रैल, 2021)
पिछले एपिसोड

Chrome के चार मुख्य सिद्धांतों में से एक है स्पीड. मानदंड जोड़ना एक आसान तरीका है, जिससे परफ़ॉर्मेंस में होने वाले रिग्रेशन को रोका जा सकता है और समय के साथ परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. अच्छे मानदंड में तेज़ी से बदलाव होता है, यह UMA की तुलना में बहुत पहले परफ़ॉर्मेंस रिग्रेशन को पकड़ सकता है. साथ ही, ये किसी नई सुविधा की परफ़ॉर्मेंस को मेज़र करने में काफ़ी मददगार होते हैं.

मानदंड नियमित तौर पर लैब में काम करते हैं. जब किसी रिग्रेशन का पता चलता है, तो bisect, गलत तरीके से लिंक किए गए सीएल का पता अपने-आप ढूंढ लेता है और सीएल के मालिक को एक गड़बड़ी असाइन कर देता है.

Chrome के मानदंड, वेब पेज पर होने वाले इंटरैक्शन के क्रम (जिन्हें स्टोरी कहते हैं) को परफ़ॉर्मेंस के मेज़रमेंट के साथ जोड़ते हैं. इस तरह के मामलों को बेंचमार्क हार्नेस में ग्रुप किया जाता है. आम तौर पर, नए मानदंड मौजूदा हार्नेस में से किसी एक में फ़िट होते हैं:

  • सिस्टम की परफ़ॉर्मेंस
  • लोड हो रहा है
  • मेमोरी
  • रेंडर करना
  • पावर
  • स्टार्टअप
  • V8 रनटाइम
  • मीडिया
  • WebRTC
  • प्रेस
  • ब्लिंक परफ़

टेलीमेट्री फ़्रेमवर्क, रिकॉर्ड की गई उन स्टोरी को फिर से चलाता है जो Chrome की गतिविधियों को रिकॉर्ड करने वाले ट्रेस इकट्ठा करती हैं. ऐसा इसलिए किया जाता है, ताकि Chrome के साथ उपयोगकर्ता इंटरैक्शन को सिम्युलेट किया जा सके. स्टोरी खत्म होने के बाद, फ़्रेमवर्क ट्रेस का विश्लेषण करने और परफ़ॉर्मेंस के नतीजों की गिनती करने के लिए अलग-अलग परफ़ॉर्मेंस मेट्रिक चलाता है.

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

एक बार इस्तेमाल किए जा सकने वाले ऐसे केस के लिए, ब्लिंक परफ़ का इस्तेमाल करें जो अन्य हार्नेस में नहीं फ़िट होते. ब्लिंक परफ़ॉर्मेंस की मदद से, खास पेजों पर ट्रेस इवेंट मेज़र किए जा सकते हैं.

अपनी मानदंड खबरें आसान रखें और सिर्फ़ कम से कम ऐसे इंटरैक्शन शामिल करें जो आपकी स्थिति को पूरा करने के लिए ज़रूरी हैं. अगर कोई टेस्ट केस जटिल है, तो उसे ऑटोमेट करना मुश्किल हो सकता है या वह अस्थिर हो सकता है.

अपने टेस्ट में इस्तेमाल के सबसे ज़रूरी उदाहरणों को सबसे छोटी संख्या तक सीमित करें. मानदंड संरचना का रखरखाव महंगा है. इसके साथ काम करने वाले हार्डवेयर की सूची देखने के लिए Chrome स्पीड डिवाइस देखें.

परफ़ॉर्मेंस को मेज़र करने के कई तरीके हैं. टेलीमेट्री-आधारित मानदंड, Chrome को किसी बाहरी प्रोसेस से कंट्रोल करते हैं. साथ ही, इससे हमेशा ज़रूरत के मुताबिक कंट्रोल नहीं मिलता. विकल्प के तौर पर, gtest-आधारित मानदंड, टेस्ट कोड को वही प्रोसेस शेयर करने देते हैं जो Chrome कोड में शेयर की जाती है. बेहतर परफ़ॉर्मेंस के लिए, लैब के बजाय उपयोगकर्ताओं के डिवाइसों पर यूएमए का इस्तेमाल किया जा सकता है.

क्या आपको Chrome मानदंड के बारे में ज़्यादा जानना है? telemetry@chromium.org से संपर्क करें.

अन्य संसाधन