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

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

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

Android प्लैटफ़ॉर्म, ट्रेस कैप्चर करने के लिए कई अलग-अलग विकल्प उपलब्ध कराता है:

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

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

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

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

Systrace, प्लैटफ़ॉर्म से मिलने वाला एक लेगसी कमांड-लाइन टूल है. यह कम समय के लिए डिवाइस की गतिविधि को कंप्रेस की गई टेक्स्ट फ़ाइल में रिकॉर्ड करता है. यह टूल, एक रिपोर्ट जनरेट करता है. इसमें Android kernel का डेटा शामिल होता है. जैसे, सीपीयू शेड्यूलर, डिस्क गतिविधि, और ऐप्लिकेशन थ्रेड. 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 में, समस्या की मुख्य वजह का आसानी से विश्लेषण किया जा सकता है.