एंड्रॉइड पाई पर सिस्टम ट्रेस को स्थानीय रूप से कैसे कैप्चर करें

click fraud protection

सिस्ट्रेस एक शक्तिशाली उपकरण है जो एंड्रॉइड पर चलने वाली प्रक्रियाओं से समय की जानकारी एकत्र करता है। एंड्रॉइड पाई पर सिस्टम ट्रेस कैप्चर करने का तरीका यहां बताया गया है।

ट्रेसिंग एक अमूल्य उपकरण है जो डेवलपर्स को सिस्टम पर विभिन्न परिवर्तनों के प्रभाव को समझने में सक्षम बनाता है और समस्याओं के मूल कारण की पहचान करने के लिए सुराग प्रदान कर सकता है।

सिस्ट्रेस एक ऐसा शक्तिशाली ट्रेसिंग टूल है जो प्रक्रियाओं से समय की जानकारी एकत्र करता है एंड्रॉइड डिवाइस पर चल रहा है। सिस्ट्रेस द्वारा बड़े पैमाने पर प्रयोग किया गया Android प्रदर्शन टीम Google पर Google Pixel फ़ोन पर प्रदर्शन को अनुकूलित करने के लिए। मैंने उपयोग कर लिया है सिस्ट्रेस उदाहरण के लिए, सीपीयू पर कार्य प्लेसमेंट पर कर्नेल शेड्यूलर परिवर्तनों के प्रभाव का निरीक्षण करना और जंक्स के संभावित कारणों की पहचान करना। सिस्ट्रेस सीपीयू शेड्यूलिंग, सीपीयू फ्रीक्वेंसी, डिस्क I/O, ग्राफिक्स, बाइंडर गतिविधि और बहुत कुछ सहित विभिन्न प्रकार के डेटा को कैप्चर कर सकता है। जानकारी को एक रिपोर्ट में संयोजित किया गया है जिसका विश्लेषण Google Chrome में किया जा सकता है।

एंड्रॉइड पाई से पहले, निशानों को पकड़ने का एकमात्र तरीका सिस्ट्रेस एक एंड्रॉइड डिवाइस को कंप्यूटर से जोड़ना और वहां से सिस्ट्रेस को चलाना था - आमतौर पर एक टर्मिनल से। हालाँकि, हर किसी के पास कंप्यूटर तक निरंतर पहुंच या सिस्ट्रेस चलाने का ज्ञान और आत्मविश्वास नहीं है।

एंड्रॉइड पाई की रिलीज़ के साथ, इस असुविधा को संबोधित किया गया ट्रैसर पैकेज, जो एक उपकरण है जो कच्चे ट्रेस डेटा को कैप्चर करता है सीधे एंड्रॉइड फोन पर। ट्रेसर सेटिंग्स ऐप के डेवलपर विकल्पों में "सिस्टम ट्रेसिंग" विकल्प के रूप में उपलब्ध है, और ट्रेसर द्वारा डिवाइस पर कैप्चर किए गए कच्चे ट्रेस डेटा को बाद में परिवर्तित किया जा सकता है सिस्ट्रेस विश्लेषण के लिए HTML रिपोर्ट में।

नया "सिस्टम ट्रेसिंग" विकल्प उपयोगकर्ताओं को आसानी से डेवलपर्स के साथ निशानों को पकड़ने और साझा करने की अनुमति देता है, वास्तव में यह जानने की आवश्यकता के बिना कि कैसे चलाना है सिस्ट्रेस एक कंप्यूटर पर. डेवलपर्स को कंप्यूटर के बिना निशानों को पकड़ने और बाद में अपनी सुविधानुसार विश्लेषण करने की क्षमता से लाभ होता है। "सिस्टम ट्रेसिंग" द्वारा एकत्र किया गया संपूर्ण कच्चा ट्रेस डेटा भी उत्पन्न HTML रिपोर्ट की तुलना में आकार में काफी छोटा है सिस्ट्रेस, जो इसलिए कच्चे ट्रेस डेटा को भंडारण और दूसरों के साथ साझा करने के लिए अधिक उपयुक्त बनाता है।

गाइड: सिस्टम एकत्रित करना और सिस्टम ट्रेस का विश्लेषण करना

सबसे पहले, सुनिश्चित करें कि आपके पास एंड्रॉइड पाई चलाने वाला एक उपकरण और पायथन 2 स्थापित कंप्यूटर है। नवीनतम ऑक्सीजनओएस एंड्रॉइड पाई बीटा चलाने वाले वनप्लस 6 पर निम्नलिखित निर्देश निष्पादित किए गए थे।

  1. सेटिंग ऐप में डेवलपर विकल्प सक्षम करें, और फिर "सिस्टम ट्रेसिंग" विकल्प तक पहुंचें डेवलपर विकल्पों के "डीबगिंग" अनुभाग के भीतर।
  2. सिस्टम ट्रेसिंग खोलने पर, आपको सिस्टम ट्रेसिंग को सक्षम करने के लिए एक टॉगल प्रस्तुत किया जाएगा, और ट्रेसिंग श्रेणियों और ट्रेस के बफर आकार को अनुकूलित करने की क्षमता दिखाई जाएगी। इस प्रदर्शन के लिए, डिफ़ॉल्ट श्रेणियों का उपयोग किया जाता है, जो अधिकांश मामलों के लिए पर्याप्त है। एक "त्वरित सेटिंग्स टाइल दिखाएं" टॉगल त्वरित सेटिंग्स के माध्यम से ट्रेसिंग को शुरू/बंद करने की अनुमति देता है। मैंने इसे इस गाइड के लिए सक्षम किया है।
  3. किसी ट्रेस को कैप्चर करना शुरू करने के लिए, हाल ही में जोड़े गए "रिकॉर्ड ट्रेस" त्वरित सेटिंग्स टाइल पर टैप करें।
  4. जब आप परीक्षण केस का पता लगाना समाप्त कर लें, तो आप अधिसूचना शेड से ट्रेसिंग को रोक सकते हैं।
  5. महान! आपने सफलतापूर्वक एक कच्चा निशान पकड़ लिया है। एक अधिसूचना आपको कच्ची ट्रेस फ़ाइल साझा करने के लिए प्रेरित करेगी। आपको इसे अपने डिवाइस में सहेजने, ऑनलाइन स्टोरेज पर अपलोड करने, किसी को ईमेल करने आदि में सक्षम होना चाहिए। वैकल्पिक रूप से, आप अपने डिवाइस से सीधे अपने कंप्यूटर पर ट्रेस खींचने के लिए एडीबी का उपयोग कर सकते हैं (adb pull /data/local/traces/). आगे बढ़ें और ट्रेस फ़ाइल को अपने कंप्यूटर में सहेजें।
  6. कच्ची ट्रेस फ़ाइल में बना हुआ है .ctrace प्रारूप. इसकी मूल रूप में व्याख्या नहीं की जा सकती। हम इसका उपयोग कर सकते हैं सिस्ट्रेस हमारी रॉ ट्रेस फ़ाइल से अधिक उपयोगी और समझने योग्य इंटरैक्टिव HTML रिपोर्ट तैयार करने के लिए।
  7. हम इसके नवीनतम संस्करण का उपयोग करेंगे सिस्ट्रेस से गुलेल परियोजना रेपो. टर्मिनल एप्लिकेशन में, रेपो को क्लोन करें (सुनिश्चित करें कि git स्थापित है):
    git clone https://github.com/catapult-project/catapult.git
  8. हमारी कच्ची ट्रेस फ़ाइल से HTML रिपोर्ट तैयार करने के लिए सिस्ट्रेस, निम्नलिखित आदेश दर्ज करें:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    रॉ ट्रेस फ़ाइल के समान नाम वाली एक HTML फ़ाइल तैयार की जाएगी। नोट: लेखन के समय सिस्ट्रेस केवल पायथन 2 का समर्थन करता है।
  9. HTML रिपोर्ट देखने के लिए, Google Chrome ब्राउज़र लॉन्च करें और "chrome://tracing" URL तक पहुंचें। HTML रिपोर्ट को सीधे Google Chrome में न खोलें क्योंकि यह रिक्त दिखाई देगी।
  10. "लोड" पर क्लिक करें और पॉप-अप संवाद से HTML रिपोर्ट फ़ाइल खोलें। वोइला! आपकी ट्रेस रिपोर्ट अब निरीक्षण के लिए उपलब्ध है।

आगे क्या होगा?

अब जब आप एक ट्रेस कैप्चर करने और जेनरेट करने में सक्षम हैं सिस्ट्रेस रिपोर्ट, यह समझना महत्वपूर्ण है कि रिपोर्ट में प्रस्तुत डेटा को कैसे पढ़ा जाए और उसकी व्याख्या कैसे की जाए। शुरुआत के लिए, मैं पढ़ने की सलाह देता हूं "समझ सिस्ट्रेस", और देख रहा हूँ"Android प्रदर्शन: एक अवलोकन (Google I/O '17)" और "सिस्ट्रेस खेलों के लिए" देखने के लिए सिस्ट्रेस कार्रवाई में.

यह एक अतिथि पोस्ट है जो मूल रूप से जोश चू द्वारा लिखी गई थी, जिसे XDA मान्यता प्राप्त डेवलपर के रूप में भी जाना जाता है जोशपूर्ण. फ़ॉर्मेटिंग के लिए पोस्ट को हल्के ढंग से संपादित किया गया था।