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