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

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

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

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

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

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