सिस्टम ट्रेस करने की खास जानकारी

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

ट्रेसिंग और प्रोफ़ाइलिंग के बारे में पूरी जानकारी पाने के लिए, Perfetto के दस्तावेज़ में मौजूद Tracing 101 पेज देखें.

Android प्लैटफ़ॉर्म, ट्रेस कैप्चर करने के लिए कई विकल्प देता है:

  • Android Studio का सीपीयू और मेमोरी प्रोफ़ाइलर
  • Perfetto का कमांड-लाइन टूल (Android 10 और इसके बाद के वर्शन)
  • सिस्टम ट्रेस करने वाला टूल
  • Systrace कमांड-लाइन टूल

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

Perfetto, प्लैटफ़ॉर्म-वाइड ट्रेसिंग टूल है. इसे Android 10 में लॉन्च किया गया था. यह Android, Linux, और Chrome के लिए एक बेहतरीन ओपन सोर्स ट्रेसिंग प्रोजेक्ट है. यह Systrace की तुलना में, डेटा सोर्स का एक सुपरसेट उपलब्ध कराता है. साथ ही, आपको प्रोटोकॉल बफ़र बाइनरी स्ट्रीम में, लंबे समय तक के ट्रेस रिकॉर्ड करने की सुविधा देता है. इन ट्रेस को Perfetto UI में खोला जा सकता है.

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

Systrace, प्लैटफ़ॉर्म की ओर से उपलब्ध कराई गई लेगसी कमांड-लाइन टूल है. यह कंप्रेस की गई टेक्स्ट फ़ाइल में, कम समय के लिए डिवाइस की गतिविधि को रिकॉर्ड करता है. यह टूल, Android कर्नल से मिले डेटा को मिलाकर एक रिपोर्ट बनाता है. जैसे, सीपीयू शेड्यूलर, डिस्क ऐक्टिविटी, और ऐप्लिकेशन थ्रेड. Systrace, Android के सभी वर्शन पर काम करता है. हालांकि, हमारा सुझाव है कि Android 10 और इसके बाद के वर्शन वाले डिवाइसों के लिए, Perfetto का इस्तेमाल करें.

Perfetto के ट्रेस व्यू का स्क्रीन कैप्चर

पहली इमेज. Perfetto ट्रेस व्यू का एक सैंपल, जिसमें किसी ऐप्लिकेशन के साथ 20 सेकंड तक किए गए इंटरैक्शन को दिखाया गया है.

Systrace रिपोर्ट का स्क्रीन कैप्चर

दूसरी इमेज. Systrace की एचटीएमएल रिपोर्ट का सैंपल. इसमें किसी ऐप्लिकेशन के साथ पांच सेकंड तक किए गए इंटरैक्शन की जानकारी दिखती है.

इन दोनों रिपोर्ट से, किसी Android डिवाइस के सिस्टम प्रोसेस की पूरी जानकारी मिलती है. यह जानकारी, किसी तय समय के लिए होती है. यह रिपोर्ट, कैप्चर की गई ट्रेसिंग की जानकारी की जांच भी करती है, ताकि उन समस्याओं को हाइलाइट किया जा सके जो इसे दिखती हैं. जैसे, यूज़र इंटरफ़ेस (यूआई) में रुकावट आना या ज़्यादा बैटरी खर्च होना.

Perfetto और Systrace, दोनों एक-दूसरे के साथ काम करते हैं:

  • Perfetto यूज़र इंटरफ़ेस (यूआई) में, Perfetto और Systrace, दोनों फ़ाइलें खोलें. लेगसी यूज़र इंटरफ़ेस (यूआई) के साथ खोलें लिंक पर क्लिक करके, Perfetto यूज़र इंटरफ़ेस (यूआई) में लेगसी Systrace व्यूअर की मदद से Systrace फ़ाइलें खोलें.
  • traceconv टूल का इस्तेमाल करके, Perfetto ट्रेस को लेगसी Systrace टेक्स्ट फ़ॉर्मैट में बदलें.

सिस्टम ट्रेस करने से जुड़ी गाइड

सिस्टम ट्रेसिंग टूल के बारे में ज़्यादा जानने के लिए, यहां दी गई गाइड देखें:

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