Android 9 (एपीआई लेवल 28) या उसके बाद के वर्शन पर काम करने वाले डिवाइसों में, सिस्टम लेवल का एक ऐप्लिकेशन शामिल होता है. इसे सिस्टम ट्रेसिंग कहा जाता है. यह ऐप्लिकेशन, systrace
कमांड-लाइन यूटिलिटी की तरह ही है. हालांकि, इस ऐप्लिकेशन की मदद से, सीधे तौर पर टेस्ट डिवाइस से ही ट्रेस रिकॉर्ड किए जा सकते हैं. इसके लिए, डिवाइस को प्लग इन करने और adb
से कनेक्ट करने की ज़रूरत नहीं होती. इसके बाद, इस ऐप्लिकेशन का इस्तेमाल करके, इन ट्रेस के नतीजे अपनी डेवलपमेंट टीम के साथ शेयर किए जा सकते हैं.
Android 10 और इसके बाद के वर्शन पर काम करने वाले डिवाइस, Perfetto फ़ॉर्मैट में ट्रेस रिकॉर्ड करते हैं. वहीं, इससे पहले के वर्शन वाले डिवाइस, Systrace फ़ॉर्मैट में ट्रेस रिकॉर्ड करते हैं. हमारा सुझाव है कि दोनों फ़ॉर्मैट खोलने के लिए, Perfetto trace viewer का इस्तेमाल करें. इसके बाद, ट्रेस का विश्लेषण करें.
इससे आपके ऐप्लिकेशन में परफ़ॉर्मेंस से जुड़ी गड़बड़ियों को ठीक करते समय, ट्रेस रिकॉर्ड करने में मदद मिलती है. जैसे, ऐप्लिकेशन के शुरू होने में ज़्यादा समय लगना, ट्रांज़िशन में ज़्यादा समय लगना या यूज़र इंटरफ़ेस (यूआई) में रुकावट आना.
सिस्टम ट्रेस रिकॉर्ड करना
सिस्टम ट्रेसिंग ऐप्लिकेशन की मदद से, सिस्टम ट्रेस को रिकॉर्ड किया जा सकता है. इसके लिए, क्विक सेटिंग टाइल या ऐप्लिकेशन में मौजूद मेन्यू का इस्तेमाल करें. इन सेक्शन में, इन इंटरफ़ेस का इस्तेमाल करके रिकॉर्डिंग की प्रोसेस पूरी करने का तरीका बताया गया है.
क्विक सेटिंग टाइल का इस्तेमाल करके रिकॉर्ड करना
आम तौर पर, क्विक सेटिंग टाइल की मदद से, डिवाइस पर सिस्टम ट्रेसिंग की प्रोसेस को आसानी से पूरा किया जा सकता है.
टाइल सेट अप करना
अगर आपने अपने टेस्ट डिवाइस पर पहली बार सिस्टम ट्रेसिंग का इस्तेमाल किया है या आपको डिवाइस के क्विक सेटिंग पैनल में सिस्टम ट्रेसिंग टाइल नहीं दिख रही है, तो सेटअप करने के लिए यह तरीका अपनाएं. यह तरीका, इमेज 2 में दिखाया गया है:
- डेवलपर के लिए सेटिंग और टूल चालू करें.
- डेवलपर के लिए सेटिंग और टूल की सेटिंग वाली स्क्रीन खोलें.
- डीबग करना सेक्शन में जाकर, सिस्टम ट्रेसिंग को चुनें. सिस्टम ट्रेसिंग ऐप्लिकेशन खुलता है और ऐप्लिकेशन मेन्यू दिखता है.
ऐप्लिकेशन मेन्यू में जाकर, क्विक सेटिंग टाइल दिखाएं को चालू करें. इसे पहले फ़िगर में दिखाया गया है. सिस्टम, सिस्टम ट्रेसिंग टाइल को क्विक सेटिंग पैनल में जोड़ता है. इसे इमेज 2 में दिखाया गया है:
पहली इमेज. सिस्टम ट्रेसिंग ऐप्लिकेशन में मौजूद, क्विक सेटिंग टाइल दिखाएं स्विच. दूसरी इमेज. क्विक सेटिंग पैनल में मौजूद सिस्टम ट्रेसिंग टाइल. ध्यान दें: सिस्टम, क्विक सेटिंग पैनल में सिस्टम ट्रेसिंग टाइल को डिफ़ॉल्ट रूप से पहली टाइल के तौर पर जोड़ता है. अगर आपको टाइल को किसी दूसरी जगह पर दिखाना है, तो पैनल के 'बदलाव करें' मोड का इस्तेमाल करके टाइल को दूसरी जगह पर ले जाएं.
सिस्टम ट्रेस रिकॉर्डिंग पूरी करना
क्विक सेटिंग पैनल का इस्तेमाल करके, सिस्टम ट्रेस रिकॉर्ड करने के लिए, यह तरीका अपनाएं:
सिस्टम ट्रेसिंग टाइल पर टैप करें. इस टाइल पर ट्रेस रिकॉर्ड करें लेबल होता है. इसके बाद, टाइल चालू हो जाती है. साथ ही, आपको एक सूचना दिखती है. इसमें बताया जाता है कि सिस्टम, ट्रेस रिकॉर्ड कर रहा है. यह सूचना, आपको लगातार दिखती रहेगी. इसे तीसरे फ़िगर में दिखाया गया है:
तीसरी इमेज. यह सूचना, डिवाइस पर सिस्टम ट्रेसिंग शुरू करने के बाद दिखती है. अपने ऐप्लिकेशन में वे कार्रवाइयां करें जिनकी आपको सिस्टम से जांच करानी है.
क्विक सेटिंग पैनल में मौजूद सिस्टम ट्रेसिंग टाइल या सिस्टम ट्रेसिंग की सूचना पर टैप करके, ट्रेसिंग बंद करें.
सिस्टम एक नई सूचना दिखाता है. इसमें "ट्रेस सेव किया जा रहा है" मैसेज होता है. सेव करने की प्रोसेस पूरी होने के बाद, सिस्टम सूचना को खारिज कर देता है और तीसरी सूचना दिखाता है. इसमें पुष्टि की जाती है कि आपका ट्रेस सेव हो गया है और अब सिस्टम ट्रेस शेयर किया जा सकता है. इसे इमेज 4 में दिखाया गया है:
चौथी इमेज. यह सूचना, सिस्टम के रिकॉर्ड किए गए ट्रेस को सेव करने के बाद दिखती है.
ऐप्लिकेशन मेन्यू का इस्तेमाल करके रिकॉर्ड करना
ऐप्लिकेशन मेन्यू की मदद से, सिस्टम ट्रेसिंग से जुड़ी कई ऐडवांस सेटिंग कॉन्फ़िगर की जा सकती हैं. साथ ही, सिस्टम ट्रेसिंग को शुरू और बंद करने के लिए एक स्विच मिलता है.
System Tracing ऐप्लिकेशन के मेन्यू का इस्तेमाल करके, सिस्टम ट्रेस रिकॉर्ड करने के लिए, यह तरीका अपनाएं:
- डेवलपर के लिए सेटिंग और टूल चालू करें.
डेवलपर के लिए सेटिंग और टूल की सेटिंग वाली स्क्रीन खोलें. डीबग करना सेक्शन में जाकर, सिस्टम ट्रेसिंग को चुनें. सिस्टम ट्रेसिंग ऐप्लिकेशन खुलता है.
इसके अलावा, अगर आपने सिस्टम ट्रेसिंग टाइल सेट अप की है, तो सिस्टम ट्रेसिंग ऐप्लिकेशन में जाने के लिए, टाइल को दबाकर रखें.
पक्का करें कि डीबग किए जा सकने वाले ऐप्लिकेशन को ट्रेस करें विकल्प चुना गया हो, ताकि उन ऐप्लिकेशन को शामिल किया जा सके जिनमें सिस्टम ट्रेस में डीबग करने की सुविधा चालू है.
सिस्टम और सेंसर कॉल की कैटेगरी चुनें, ताकि उन्हें ट्रेस किया जा सके. यह ज़रूरी नहीं है. साथ ही, केबी में हर सीपीयू के लिए बफ़र का साइज़ चुनें. उन कैटगरी को चुनें जो आपके टेस्ट किए जा रहे इस्तेमाल के उदाहरण से मेल खाती हों. जैसे, ब्लूटूथ के ऑपरेशन की जांच करने के लिए ऑडियो कैटगरी या हीप के लिए मेमोरी के बंटवारे की जांच करने के लिए मेमोरी कैटगरी.
अगर चाहें, तो लंबे ट्रेस को चुनें. इससे ऐसे ट्रेस चालू हो जाएंगे जो डिवाइस की मेमोरी में लगातार सेव होते हैं. इस विकल्प के लिए, सबसे लंबे ट्रेस का ज़्यादा से ज़्यादा साइज़ और सबसे लंबे ट्रेस की ज़्यादा से ज़्यादा अवधि की सीमाएं सेट करें.
रिकॉर्ड ट्रेस स्विच चालू करें. इसे इमेज 5 में हाइलाइट किया गया है. इसके बाद, टाइल चालू हो जाती है. साथ ही, आपको एक सूचना दिखती है. इसमें बताया जाता है कि सिस्टम, ट्रेस रिकॉर्ड कर रहा है. यह सूचना तीसरी इमेज में दिखाई गई है.
पांचवीं इमेज. सिस्टम ट्रेसिंग की सेटिंग में मौजूद, ट्रेस रिकॉर्ड करें स्विच. अपने ऐप्लिकेशन में वे कार्रवाइयां करें जिनकी आपको सिस्टम से जांच करानी है.
रिकॉर्ड ट्रेस स्विच को बंद करके, ट्रेसिंग बंद करें.
सिस्टम एक नई सूचना दिखाता है. इसमें "ट्रेस सेव किया जा रहा है" मैसेज होता है. सेव करने की प्रोसेस पूरी होने के बाद, सिस्टम सूचना को खारिज कर देता है और तीसरी सूचना दिखाता है. इसमें पुष्टि की जाती है कि आपका ट्रेस सेव हो गया है और अब सिस्टम ट्रेस शेयर किया जा सकता है. यह चौथी इमेज में दिखाया गया है.
सिस्टम ट्रेस शेयर करना
सिस्टम ट्रेसिंग ऐप्लिकेशन की मदद से, सिस्टम ट्रेस के नतीजों को कई अलग-अलग वर्कफ़्लो के हिस्से के तौर पर शेयर किया जा सकता है. Android 10 (एपीआई लेवल 29) या इसके बाद के वर्शन वाले डिवाइस पर, ट्रेस फ़ाइलें .perfetto-trace
फ़ाइल नाम एक्सटेंशन के साथ सेव की जाती हैं. इन्हें Perfetto UI में खोला जा सकता है. Android के पुराने वर्शन वाले डिवाइस पर, ट्रेस फ़ाइलें .ctrace
फ़ाइल नाम के एक्सटेंशन के साथ सेव की जाती हैं. इससे Systrace फ़ॉर्मैट का पता चलता है.
मैसेज के तौर पर शेयर करना
सिस्टम ट्रेसिंग की सुविधा की मदद से, अपने डिवाइस पर मौजूद अन्य ऐप्लिकेशन के साथ, इकट्ठा किया गया ट्रेस शेयर किया जा सकता है. डिवाइस को डेवलपमेंट मशीन से कनेक्ट किए बिना, अपनी डेवलपमेंट टीम को ईमेल या बग-ट्रैकिंग ऐप्लिकेशन के ज़रिए ट्रेस भेजा जा सकता है.
सिस्टम ट्रेस रिकॉर्ड करने के बाद, डिवाइस पर दिखने वाली सूचना पर टैप करें. यह सूचना, चौथी इमेज में दिखाई गई सूचना की तरह होगी. इसके बाद, प्लैटफ़ॉर्म का इंटेंट पिकर दिखता है. इसकी मदद से, अपनी पसंद के मैसेजिंग ऐप्लिकेशन का इस्तेमाल करके, अपने ट्रेस को शेयर किया जा सकता है.
Files ऐप्लिकेशन से शेयर करना
Android 10 (एपीआई लेवल 29) या इसके बाद के वर्शन पर चलने वाले डिवाइसों पर, ट्रेस को Files ऐप्लिकेशन में दिखाया जाता है. इस ऐप्लिकेशन से ट्रेस शेयर किया जा सकता है.
ADB का इस्तेमाल करके रिपोर्ट डाउनलोड करना
adb
का इस्तेमाल करके, किसी डिवाइस से सिस्टम ट्रेस भी निकाला जा सकता है. ट्रेस रिकॉर्ड करने के लिए इस्तेमाल किए गए डिवाइस को अपनी डेवलपमेंट मशीन से कनेक्ट करें. इसके बाद, टर्मिनल विंडो में ये कमांड चलाएं:
cd /path-to-traces-on-my-dev-machine && \ adb pull /data/local/traces/ .
ट्रेस फ़ॉर्मैट के बीच स्विच करना
Perfetto ट्रेस फ़ाइलों को Systrace फ़ॉर्मैट में बदला जा सकता है. ज़्यादा जानकारी के लिए, ट्रेस फ़ॉर्मैट के बीच कन्वर्ज़न करना देखें.
एचटीएमएल रिपोर्ट बनाना
ट्रेस शेयर करने पर, रिपोर्ट Android 10 या इसके बाद के वर्शन वाले डिवाइसों पर .perfetto-trace
फ़ाइल में होती है. वहीं, अन्य सभी वर्शन के लिए यह .ctrace
फ़ाइल में होती है.
वेब पर आधारित यूज़र इंटरफ़ेस (यूआई) या कमांड लाइन का इस्तेमाल करके, ट्रेस फ़ाइल से एचटीएमएल रिपोर्ट बनाएं.
वेब पर आधारित यूज़र इंटरफ़ेस (यूआई)
ट्रेस फ़ाइल खोलने और रिपोर्ट जनरेट करने के लिए, Perfetto यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें.
Perfetto फ़ाइल के लिए, ट्रेस फ़ाइल खोलें पर क्लिक करें. Systrace फ़ाइल के लिए, लेगसी यूज़र इंटरफ़ेस (यूआई) में खोलें पर क्लिक करें. लेगसी यूज़र इंटरफ़ेस (यूआई) का लुक और फ़ील, Systrace रिपोर्ट जैसा ही है.
कमांड लाइन
ट्रेस फ़ाइल से एचटीएमएल रिपोर्ट जनरेट करने के लिए, टर्मिनल विंडो में ये कमांड चलाएं:
cd /path-to-traces-on-my-dev-machine && \ systrace --from-file trace-file-name{.ctrace | .perfetto-trace}
अगर आपके पास पहले से systrace
कमांड-लाइन प्रोग्राम नहीं है, तो इसे GitHub पर मौजूद Catapult प्रोजेक्ट से या सीधे Android Open Source Project से डाउनलोड किया जा सकता है.
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक टेक्स्ट दिखता है
- लगातार इंटिग्रेशन में बेंचमार्क
- कमांड लाइन पर सिस्टम ट्रेस कैप्चर करना