डिवाइस पर सिस्टम ट्रेस कैप्चर करना

Android 9 (एपीआई लेवल 28) या उसके बाद के वर्शन वाले डिवाइसों में, सिस्टम-लेवल का एक ऐप्लिकेशन होता है. इसे सिस्टम ट्रैकिंग कहा जाता है. यह ऐप्लिकेशन, systrace कमांड-लाइन की सुविधा से मिलता-जुलता है. हालांकि, इस ऐप्लिकेशन की मदद से, सीधे तौर पर टेस्ट डिवाइस से ट्रेस रिकॉर्ड किए जा सकते हैं. इसके लिए, डिवाइस को प्लग इन करने और adb से कनेक्ट करने की ज़रूरत नहीं होती. इसके बाद, ऐप्लिकेशन का इस्तेमाल करके, इन ट्रेस के नतीजे अपनी डेवलपमेंट टीम के साथ शेयर किए जा सकते हैं.

Android 10 और उसके बाद के वर्शन वाले डिवाइस, ट्रेस को Perfetto फ़ॉर्मैट में रिकॉर्ड करते हैं. वहीं, इससे पहले के वर्शन वाले डिवाइस, ट्रेस को Systrace फ़ॉर्मैट में रिकॉर्ड करते हैं. हमारा सुझाव है कि दोनों फ़ॉर्मैट खोलने के लिए, Perfetto ट्रैक व्यूअर का इस्तेमाल करें. इसके बाद, ट्रैक का विश्लेषण करें.

इससे आपके ऐप्लिकेशन में परफ़ॉर्मेंस से जुड़ी गड़बड़ियों को ठीक करने में मदद मिलती है. जैसे, ऐप्लिकेशन के धीरे से शुरू होने, ट्रांज़िशन के धीमे होने या यूज़र इंटरफ़ेस (यूआई) के धीमे होने जैसी गड़बड़ियां.

सिस्टम ट्रेस रिकॉर्ड करना

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

क्विक सेटिंग टाइल का इस्तेमाल करके रिकॉर्ड करें

आम तौर पर, डिवाइस पर सिस्टम को ट्रैक करने की प्रोसेस को पूरा करने के लिए, क्विक सेटिंग टाइल का इस्तेमाल करना ज़्यादा आसान होता है.

टाइल सेट अप करना

अगर अपने टेस्ट डिवाइस पर पहली बार सिस्टम ट्रेस करने की सुविधा का इस्तेमाल किया जा रहा है या आपको अपने डिवाइस के क्विक सेटिंग पैनल में सिस्टम ट्रेसिंग टाइल नहीं दिख रही है, तो दूसरी इमेज में बताए गए तरीके से सेटअप करने के लिए, इन चरणों को पूरा करें:

  1. डेवलपर के लिए सेटिंग और टूल चालू करें.
  2. डेवलपर के लिए सेटिंग और टूल की स्क्रीन खोलें.
  3. डीबग करना सेक्शन में, सिस्टम ट्रेसिंग चुनें. सिस्टम ट्रैकिंग ऐप्लिकेशन खुल जाएगा. इसमें ऐप्लिकेशन मेन्यू दिखेगा.
  4. ऐप्लिकेशन मेन्यू में जाकर, क्विक सेटिंग टाइल दिखाएं को चालू करें, जैसा कि पहले चित्र में दिखाया गया है. सिस्टम, क्विक सेटिंग पैनल में सिस्टम ट्रैकिंग टाइल जोड़ता है, जैसा कि दूसरे चित्र में दिखाया गया है:

    पहली इमेज. सिस्टम ट्रेसिंग ऐप्लिकेशन में क्विक सेटिंग टाइल दिखाएं स्विच.
    दूसरी इमेज. क्विक सेटिंग पैनल में मौजूद, सिस्टम ट्रैकिंग टाइल.

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

सिस्टम ट्रेस रिकॉर्ड करने की प्रोसेस पूरी करें

क्विक सेटिंग पैनल का इस्तेमाल करके सिस्टम ट्रेस रिकॉर्ड करने के लिए, यह तरीका अपनाएं:

  1. सिस्टम ट्रैकिंग टाइल पर टैप करें. इस टाइल पर रिकॉर्ड ट्रैक लेबल होता है. टाइल चालू हो जाती है और आपको लगातार एक सूचना दिखती है. इससे आपको पता चलता है कि सिस्टम ट्रैक रिकॉर्ड कर रहा है. यह सूचना तीसरे चित्र में दिखाई गई है:

    'ट्रेस रिकॉर्ड किया जा रहा है' मैसेज वाली सूचना. ट्रेस करना बंद करने के लिए टैप करें.'
    तीसरी इमेज. डिवाइस पर सिस्टम ट्रेस शुरू करने के बाद दिखने वाली सूचना, जो डिवाइस पर बनी रहती है.
  2. अपने ऐप्लिकेशन में वे कार्रवाइयां करें जिनकी आपको सिस्टम से जांच करनी है.

  3. क्विक सेटिंग पैनल में या सिस्टम ट्रेसिंग की सूचना में, सिस्टम ट्रेसिंग टाइल पर टैप करके ट्रेस करना बंद करें.

    सिस्टम एक नई सूचना दिखाता है, जिसमें "ट्रैक रिकॉर्ड किया जा रहा है" मैसेज होता है. सेव होने के बाद, सिस्टम सूचना को खारिज कर देता है और तीसरी सूचना दिखाता है. इस सूचना से यह पुष्टि होती है कि आपका ट्रेस सेव हो गया है और आप सिस्टम ट्रेस शेयर करने के लिए तैयार हैं. इसकी जानकारी चौथे चित्र में दी गई है:

    'पता सेव किया गया' मैसेज वाली सूचना. अपना ट्रैक रिकॉर्ड शेयर करने के लिए टैप करें.'
    चौथी इमेज. रिकॉर्ड किए गए ट्रेस को सेव करने के बाद दिखने वाली सूचना, जो तब तक दिखती रहती है, जब तक कि उसे हटाया नहीं जाता.

ऐप्लिकेशन मेन्यू का इस्तेमाल करके रिकॉर्ड करना

ऐप्लिकेशन मेन्यू की मदद से, सिस्टम ट्रैकिंग से जुड़ी कई बेहतर सेटिंग कॉन्फ़िगर की जा सकती हैं. साथ ही, सिस्टम ट्रैकिंग शुरू और बंद करने के लिए एक स्विच भी मिलता है.

सिस्टम ट्रैकिंग ऐप्लिकेशन मेन्यू का इस्तेमाल करके, सिस्टम ट्रेस रिकॉर्ड करने के लिए, यह तरीका अपनाएं:

  1. डेवलपर के लिए सेटिंग और टूल चालू करें.
  2. डेवलपर के लिए सेटिंग और टूल की सेटिंग स्क्रीन खोलें. डीबग करने वाले सेक्शन में, सिस्टम ट्रैकिंग चुनें. सिस्टम ट्रैकिंग ऐप्लिकेशन खुल जाएगा.

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

  3. पक्का करें कि डीबग किए जा सकने वाले ऐप्लिकेशन ट्रैक करें को चुना गया हो, ताकि सिस्टम ट्रैक में ऐसे ऐप्लिकेशन शामिल किए जा सकें जिनमें डीबग करने की सुविधा चालू हो.

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

  5. इसके अलावा, लंबे ट्रेस चुनकर, डिवाइस के स्टोरेज में लगातार सेव होने वाले ट्रेस चालू किए जा सकते हैं. इस विकल्प के लिए, सबसे लंबे ट्रैक का साइज़ और सबसे लंबे ट्रैक की अवधि की सीमाएं सेट करें.

  6. रिकॉर्ड ट्रेस स्विच को चालू करें. इसे पांचवें चित्र में हाइलाइट किया गया है. इसके बाद, टाइल चालू हो जाती है और आपको एक सूचना दिखती है. इसमें बताया जाता है कि सिस्टम, गतिविधि रिकॉर्ड कर रहा है. यह सूचना, तीसरे चित्र में दिखाई गई है.

    पांचवीं इमेज. सिस्टम ट्रेस करने की सेटिंग में जाकर, ट्रैक को रिकॉर्ड करें स्विच.
  7. अपने ऐप्लिकेशन में वे कार्रवाइयां करें जिनकी आपको सिस्टम से जांच करनी है.

  8. ट्रैक रिकॉर्ड करें स्विच को बंद करके, ट्रैकिंग बंद करें.

    सिस्टम एक नई सूचना दिखाता है, जिसमें "सेव किया जा रहा है" मैसेज होता है. सेव हो जाने के बाद, सिस्टम सूचना को खारिज कर देता है और एक तीसरी सूचना दिखाता है. इस सूचना से यह पुष्टि होती है कि आपका ट्रेस सेव हो गया है और आप सिस्टम ट्रेस शेयर करने के लिए तैयार हैं. इसकी जानकारी चित्र 4 में दी गई है.

सिस्टम ट्रेस शेयर करना

सिस्टम ट्रैकिंग ऐप्लिकेशन की मदद से, कई अलग-अलग वर्कफ़्लो के हिस्से के तौर पर सिस्टम ट्रैक के नतीजे शेयर किए जा सकते हैं. Android 10 (एपीआई लेवल 29) या उसके बाद के वर्शन वाले डिवाइस पर, ट्रैक फ़ाइलें .perfetto-trace फ़ाइल नाम एक्सटेंशन के साथ सेव होती हैं. साथ ही, इन्हें Perfetto यूज़र इंटरफ़ेस में खोला जा सकता है. Android के पुराने वर्शन वाले डिवाइस पर, ट्रेस फ़ाइलों को .ctrace फ़ाइल नाम के एक्सटेंशन के साथ सेव किया जाता है. यह एक्सटेंशन Systrace फ़ॉर्मैट को दिखाता है.

मैसेज के तौर पर शेयर करें

सिस्टम ट्रैकिंग की मदद से, इकट्ठा किए गए ट्रैक को अपने डिवाइस पर मौजूद अन्य ऐप्लिकेशन के साथ शेयर किया जा सकता है. आप अपनी डेवलपमेंट मशीन से किसी डिवाइस को कनेक्ट किए बिना ईमेल या बग-ट्रैकिंग ऐप्लिकेशन के माध्यम से अपनी डेवलपमेंट टीम को ट्रेस भेज सकते हैं.

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

Files ऐप्लिकेशन से शेयर करना

Android 10 (एपीआई लेवल 29) या इसके बाद के वर्शन पर चलने वाले डिवाइसों पर, ट्रैक रिकॉर्डिंग को Files ऐप्लिकेशन में दिखाया जाता है. इस ऐप्लिकेशन से ट्रैक रिकॉर्डिंग शेयर की जा सकती है.

ADB का इस्तेमाल करके रिपोर्ट डाउनलोड करें

adb का इस्तेमाल करके, किसी डिवाइस से सिस्टम ट्रेस भी निकाला जा सकता है. ट्रैक रिकॉर्ड करने के लिए इस्तेमाल किए गए डिवाइस को अपनी डेवलपमेंट मशीन से कनेक्ट करें. इसके बाद, टर्मिनल विंडो में ये कमांड चलाएं:

cd /path-to-traces-on-my-dev-machine && \
  adb pull /data/local/traces/ .

अलग-अलग ट्रेस फ़ॉर्मैट में बदलना

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

एचटीएमएल रिपोर्ट बनाना

अपना ट्रेस शेयर करते समय, रिपोर्ट खुद ही Android 10 या उसके बाद के वर्शन वाले डिवाइसों पर .perfetto-trace फ़ाइल में या अन्य सभी वर्शन के लिए .ctrace फ़ाइल में होती है.

वेब पर आधारित यूज़र इंटरफ़ेस (यूआई) या कमांड लाइन का इस्तेमाल करके, ट्रेस फ़ाइल से एचटीएमएल रिपोर्ट बनाएं.

वेब पर आधारित यूज़र इंटरफ़ेस (यूआई)

ट्रेस फ़ाइल खोलने और रिपोर्ट जनरेट करने के लिए, Perfetto यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें.

Perfetto फ़ाइल के लिए, ट्रैस फ़ाइल खोलें पर क्लिक करें. Systrace फ़ाइल के लिए, लेगसी यूज़र इंटरफ़ेस (यूआई) के साथ खोलें पर क्लिक करें. लेगसी यूज़र इंटरफ़ेस (यूआई) का लुक और स्टाइल, Systrace रिपोर्ट जैसा ही है.

कमांड लाइन

ट्रेस फ़ाइल से एचटीएमएल रिपोर्ट जनरेट करने के लिए, टर्मिनल विंडो में ये कमांड चलाएं:

cd /path-to-traces-on-my-dev-machine && \
  systrace --from-file trace-file-name{.ctrace | .perfetto-trace}

अगर आपके पास पहले से systrace कमांड-लाइन प्रोग्राम नहीं है, तो इसे GitHub पर मौजूद Catapult प्रोजेक्ट से या सीधे Android Open Source Project से डाउनलोड किया जा सकता है.