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