ट्रेस को रिकॉर्ड करना शुरू करने के लिए, कोई रिकॉर्डिंग कॉन्फ़िगरेशन चुनें CPU प्रोफ़ाइलर के ऊपर या नीचे के किसी भी ड्रॉपडाउन मेनू से और रिकॉर्ड करें पर क्लिक करें.
अपने ऐप्लिकेशन के साथ इंटरैक्ट करें और काम पूरा हो जाने पर बंद करें पर क्लिक करें. कॉन्टेंट बनाने प्रोफ़ाइलर ट्रेस पैनल में अपनी ट्रेस करने की जानकारी अपने-आप दिखाता है, जैसे कि इमेज 2 में दिखाई गई है.
- चुनी गई रेंज: इसकी मदद से, रिकॉर्ड किए गए समय के हिस्से का पता लगाया जाता है ट्रेस पैनल में निरीक्षण करें. पहली बार ट्रेस रिकॉर्ड करने पर, सीपीयू प्रोफ़ाइलर सीपीयू में रिकॉर्डिंग की पूरी अवधि अपने-आप चुन लेता है समयावधि. रिकॉर्ड किए गए समय के सिर्फ़ एक हिस्से के लिए ट्रेस डेटा की जांच करने के लिए हाइलाइट किए गए हिस्से को हाइलाइट करें. इसके बाद, हाइलाइट किए गए हिस्से के किनारों को खींचें और छोड़ें.
- इंटरैक्शन सेक्शन: उपयोगकर्ता के इंटरैक्शन और ऐप्लिकेशन का लाइफ़साइकल दिखाता है किसी समयावधि के लिए कितने इवेंट की जानकारी मिल सकती है.
- थ्रेड सेक्शन: थ्रेड की स्थिति से जुड़ी गतिविधि दिखाता है (जैसे, चल रहा है,
स्लीपिंग वगैरह) और कॉल चार्ट (या सिस्टम ट्रेस में ट्रेस इवेंट चार्ट)
हर थ्रेड के लिए एक टाइमलाइन दिखेगी.
- इन कामों के लिए माउस और कीबोर्ड शॉर्टकट का इस्तेमाल करें टाइमलाइन पर नेविगेट करें.
- थ्रेड के नाम पर दो बार क्लिक करें या थ्रेड चुनने के दौरान, Enter दबाएं का इस्तेमाल करें.
- विश्लेषण पैनल में ज़्यादा जानकारी देखने के लिए कोई थ्रेड चुनें. एक से ज़्यादा थ्रेड चुनने के लिए, Shift या Ctrl (Mac पर Command) को दबाकर रखें.
- देखने के लिए कोई तरीका कॉल (या सिस्टम ट्रेस में ट्रेस इवेंट) चुनें विश्लेषण पैनल में अतिरिक्त जानकारी देखें.
- विश्लेषण पैनल: समयसीमा और थ्रेड के लिए ट्रेस डेटा दिखाता है आपके चुने हुए तरीके की जानकारी के लिए. इस पैनल में, आपके पास 'देखने का तरीका' चुनने का विकल्प है और हर स्टैक ट्रेस (विश्लेषण टैब का इस्तेमाल करके) और उसके एक्ज़ीक्यूशन को मेज़र करने का तरीका जानें समय (समय संदर्भ ड्रॉपडाउन मेनू का उपयोग करके).
- विश्लेषण पैनल के टैब: ट्रेस की जानकारी दिखाने का तरीका चुनें. इसके लिए हर विकल्प की जानकारी देखें, तो ट्रेस की जांच करें.
- समय का रेफ़रंस देने वाला मेन्यू: इसका तरीका तय करने के लिए, इनमें से किसी एक को चुनें
हर कॉल की समय की जानकारी मापी जाती है (सिर्फ़ सैंपल/ट्रेस में काम करती है)
Java के तरीके):
- दीवार घड़ी का समय: समय की जानकारी बीता हुआ असल समय दिखाती है समय.
- थ्रेड का समय: समय की जानकारी, बीत चुके समय को दिखाती है उस समय का कोई भी हिस्सा हटाकर, जब थ्रेड सीपीयू का इस्तेमाल नहीं कर रहा हो संसाधन. किसी भी कॉल के लिए, उसका थ्रेड टाइम हमेशा या इससे कम होता है दीवार घड़ी के समय के बराबर हो. थ्रेड टाइम का इस्तेमाल करने से, यह समझना कि किसी थ्रेड के असल सीपीयू (CPU) का कितना इस्तेमाल किया जाता है दिया गया तरीका या फ़ंक्शन.
-
फ़िल्टर: फ़ंक्शन, तरीके, क्लास या पैकेज के हिसाब से ट्रेस डेटा को फ़िल्टर करता है
नाम. उदाहरण के लिए, अगर आपको
कॉल करने के लिए, खोज बॉक्स में आपका नाम
फ़ील्ड. फ़्लेम चार्ट टैब में, कॉल स्टैक
जिनमें खोज क्वेरी से मेल खाने वाला कॉल, पैकेज या क्लास शामिल हो
उस पर ज़ोर दिया गया. टॉप डाउन और बॉटम अप टैब में, वे कॉल
ट्रेस के अन्य नतीजों की तुलना में, स्टैक को प्राथमिकता दी जाती है. आप यह भी सक्षम कर सकते हैं:
खोज फ़ील्ड के बगल में मौजूद उचित बॉक्स चुनकर, इन विकल्पों का इस्तेमाल कर सकते हैं:
- Regex: अपनी खोज में रेगुलर एक्सप्रेशन शामिल करने के लिए, इसका इस्तेमाल करें का विकल्प शामिल है.
- केस मिलाना: अगर आपकी खोज केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) है, तो इस विकल्प का इस्तेमाल करें.
- ज़ूम इन करें: Ctrl को दबाकर रखते हुए, W दबाएं या माउस व्हील को स्क्रोल करें (Mac पर आदेश).
- ज़ूम आउट करें: S दबाएं या माउस व्हील को पीछे की ओर स्क्रॉल करें Ctrl (Mac पर Command) को दबाकर रखें.
- बाईं ओर पैन करना: Space को दबाकर रखते हुए, A दबाएं या माउस को दाईं ओर खींचें और छोड़ें.
- दाईं ओर पैन करें: Space को दबाकर रखते हुए, D दबाएं या माउस को बाईं ओर खींचें और छोड़ें.
- थ्रेड को बड़ा या छोटा करें: थ्रेड के नाम पर दो बार क्लिक करें या थ्रेड चुनने के दौरान, Enter दबाएं.
कोई रिकॉर्डिंग कॉन्फ़िगरेशन चुनें
ट्रेस की जानकारी रिकॉर्ड करना शुरू करने से पहले, सही रिकॉर्डिंग चुनें उस प्रोफ़ाइल का कॉन्फ़िगरेशन जिसे आपको कैप्चर करना है:
- Java के तरीकों के उदाहरण: इससे अक्सर आपके ऐप्लिकेशन के कॉल स्टैक को कैप्चर किया जाता है
अंतरालों को कम नहीं किया जा सकता. प्रोफ़ाइलर की तुलना
कैप्चर किए गए डेटा के सेट के बारे में बताया गया है. इससे समय और संसाधन के इस्तेमाल की जानकारी हासिल की जा सकती है
आपके ऐप्लिकेशन के Java-आधारित कोड का निष्पादन करते हैं.
सैंपल के आधार पर ट्रेस करने की सुविधा में एक समस्या यह होती है कि अगर आपका ऐप्लिकेशन कॉल स्टैक को कैप्चर करने के बाद वाला तरीका और कैप्चर करने के लिए, उस तरीके से की गई कॉल को प्रोफ़ाइलर से लॉग नहीं किया जाता. अगर आप इतने कम लाइफ़साइकल वाले डेटा का इस्तेमाल करके ट्रेस करने के तरीकों में दिलचस्पी हो, तो आपको इंस्ट्रुमेंटेड ट्रेसिंग का इस्तेमाल करें.
- Java के तरीकों को ट्रेस करना: किसी भी फ़ॉर्मैट में, रनटाइम के दौरान आपके ऐप्लिकेशन को
कॉल के हर तरीके की शुरुआत और आखिर में टाइमस्टैंप. टाइमस्टैंप यह हैं
ट्रेस करने के तरीके का डेटा जनरेट करने के लिए, इकट्ठा किए गए डेटा से उसकी तुलना की जा सकती है. इसमें समय की जानकारी भी शामिल है
सीपीयू के इस्तेमाल की जानकारी देखें.
ध्यान रखें कि हर तरीके को इंस्ट्रुमेंट करने से जुड़ा ओवरहेड इससे असर डालता है रनटाइम परफ़ॉर्मेंस और प्रोफ़ाइलिंग डेटा पर असर पड़ सकता है; यह और भी ज़्यादा है इसका इस्तेमाल, कम लाइफ़साइकल वाले तरीकों के लिए किया जाता है. इसके अलावा, अगर आपका ऐप्लिकेशन कम समय में कई तरीकों को एक्ज़ीक्यूट कर लेता है. प्रोफ़ाइलर फ़ाइल का साइज़, तय सीमा से ज़्यादा हो सकता है. साथ ही, किसी भी फ़ाइल को रिकॉर्ड नहीं किया जा सकता ट्रेस करने का बेहतर डेटा.
- C/C++ फ़ंक्शन का सैंपल: यह आपके ऐप्लिकेशन के नेटिव ट्रेस के सैंपल के तौर पर इस्तेमाल किए गए ट्रेस को कैप्चर करता है
थ्रेड. इस कॉन्फ़िगरेशन का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन को किसी डिवाइस पर डिप्लॉय करना होगा
जो Android 8.0 (एपीआई लेवल 26) या इसके बाद वाले वर्शन पर चल रहे हों.
अंदरूनी तौर पर, यह कॉन्फ़िगरेशन ट्रेस करने के लिए
simpleperf
का नेटिव कोड शामिल करें. अगर आपकोsimpleperf
, जैसे कि किसी डिवाइस के सीपीयू का सैंपल या सैंपल की अवधि के बारे में ज़्यादा सटीक तरीके से बताया हो, तोsimpleperf
का उपयोग करें डालें. - ट्रेस सिस्टम कॉल: इसका इस्तेमाल करके, बारीकी से जानकारी कैप्चर की जाती है, ताकि
इस बात की जांच करता है कि आपका ऐप्लिकेशन, सिस्टम के संसाधनों से कैसे इंटरैक्ट करता है. सटीक तथ्यों की जांच की जा सकती है
यह देखें कि आपके थ्रेड का समय और अवधि क्या है. साथ ही, यह भी देखें कि आपका सीपीयू कहां है
बॉटलनेक सभी कोर में हैं. विश्लेषण के लिए, कस्टम ट्रेस इवेंट जोड़ें.
परफ़ॉर्मेंस से जुड़ी समस्या को हल करते समय ऐसी जानकारी अहम हो सकती है
समस्याएं. इस कॉन्फ़िगरेशन का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन को किसी डिवाइस पर डिप्लॉय करना होगा
जो Android 7.0 (एपीआई लेवल 24) या इसके बाद वाले वर्शन पर चल रहे हों.
इस ट्रेस कॉन्फ़िगरेशन का इस्तेमाल करते समय, ज़रूरी कोड को विज़ुअल तौर पर मार्क किया जा सकता है अपना कोड इंस्ट्रुमेंट करके प्रोफ़ाइलर टाइमलाइन में रूटीन बनाएं. यहां की यात्रा पर हूं इंस्ट्रुमेंट C/C++ कोड इस्तेमाल करने के लिए, यह नेटिव ट्रेसिंग एपीआई उपलब्ध कराता है
trace.h
. Java कोड पाने के लिए,Trace
क्लास. इसके लिए अधिक जानकारी के लिए, देखें अपने ऐप्लिकेशन कोड को इंस्टॉल करें.यह ट्रेस कॉन्फ़िगरेशन
systrace
पर बनाया गया है. आपsystrace
का इस्तेमाल करें कमांड-लाइन यूटिलिटी: सीपीयू प्रोफ़ाइलर. इससे मिला अतिरिक्त सिस्टम-लेवल डेटाsystrace
की मदद से, नेटिव सिस्टम प्रोसेस की जांच करने और ड्रॉप या देर से दिखने वाले फ़्रेम से जुड़ी समस्या हल करें.Android 9 (एपीआई लेवल 28) या उसके बाद के वर्शन वाले डिवाइसों पर, सिस्टम ट्रेसिंग नाम का सिस्टम ऐप्लिकेशन किसी डिवाइस पर सिस्टम ट्रेस रिकॉर्ड करने में मदद मिलती है.
रिकॉर्डिंग कॉन्फ़िगरेशन बनाना, उनमें बदलाव करना या उन्हें देखना
सीपीयू रिकॉर्डिंग में रिकॉर्डिंग कॉन्फ़िगरेशन बनाए जा सकते हैं, उनमें बदलाव किया जा सकता है, और उन्हें देखा जा सकता है कॉन्फ़िगरेशन डायलॉग, जिसे कॉन्फ़िगरेशन में बदलाव करें चुनकर खोला जा सकता है पर क्लिक करें.
किसी मौजूदा रिकॉर्डिंग कॉन्फ़िगरेशन की सेटिंग देखने के लिए, उसे यहां चुनें सीपीयू रिकॉर्डिंग कॉन्फ़िगरेशन डायलॉग का बायां पैनल.
नया रिकॉर्डिंग कॉन्फ़िगरेशन बनाने के लिए, यह तरीका अपनाएं:
- जोड़ें पर क्लिक करें पर क्लिक करें. यह कुछ के साथ एक नया कॉन्फ़िगरेशन बनाता है डिफ़ॉल्ट सेटिंग.
- अपने कॉन्फ़िगरेशन को नाम दें.
- कोई ट्रेस टेक्नोलॉजी चुनें.
- सैंपल के तौर पर इस्तेमाल हुए रिकॉर्डिंग कॉन्फ़िगरेशन के लिए, इसमें सैंपलिंग इंटरवल तय करें माइक्रोसेकंड (μs). यह मान इसके प्रत्येक नमूने के बीच के समय को दिखाता है आपके ऐप्लिकेशन का कॉल स्टैक. आपका तय किया हुआ इंटरवल जितना कम होगा, उतनी ही तेज़ी से रिकॉर्ड किए गए डेटा की फ़ाइल का साइज़ तय सीमा तक पहुंच जाता है.
- रिकॉर्ड किए गए डेटा के लिए, मेगाबाइट (एमबी) में फ़ाइल के साइज़ की सीमा तय करें
जो कनेक्ट किए गए डिवाइस पर लिखा होता है. रिकॉर्डिंग बंद करने पर, Android पर
Studio इस डेटा को पार्स करता है और इसे प्रोफ़ाइलर विंडो में दिखाता है. इसलिए, अगर आपको
रिकॉर्ड करने की सीमा बढ़ाएं और बहुत सारा डेटा रिकॉर्ड करें. ऐसे में, Android Studio
फ़ाइल को पार्स करने में ज़्यादा समय लगेगा और हो सकता है कि काम न करे.
ध्यान दें: अगर Android 8.0 (एपीआई लेवल 26) पर चलने वाले, कनेक्ट किए गए किसी डिवाइस का इस्तेमाल किया जा रहा है, तो या इससे ज़्यादा, ट्रेस डेटा के फ़ाइल आकार की कोई सीमा नहीं है और इस मान को अनदेखा कर दिया जाता है. हालांकि, आपको अब भी इस बात के लिए सावधान रहना होगा कि किसी जब डिवाइस हर रिकॉर्डिंग के बाद की जानकारी इकट्ठा करता है—तो Android Studio को एक-दूसरे से कनेक्ट करने में कठिनाई हो सकती है बड़ी ट्रेस फ़ाइलें पार्स करना. उदाहरण के लिए, अगर किसी सैंपल के तौर पर इस्तेमाल किया जा रहा है, तो अपने ऐप्लिकेशन के दौरान, कम अवधि के सैंपलिंग इंटरवल या इंस्ट्रुमेंटेड ट्रेस के साथ ट्रेस करें बहुत कम समय में कई तरीकों से कॉल करता है, तो बड़ी ट्रेस फ़ाइलें तेज़ी से जनरेट की जा सकती हैं.
- बदलावों को स्वीकार करने और अन्य कॉन्फ़िगरेशन में बदलाव करना जारी रखने के लिए, लागू करें पर क्लिक करें. लागू किए गए सभी बदलावों को स्वीकार करने और डायलॉग बॉक्स को बंद करने के लिए, क्लिक करें ठीक है.
डीबग एपीआई की मदद से, सीपीयू की गतिविधि रिकॉर्ड करें
आप Debug
API का इस्तेमाल करके, अपने ऐप्लिकेशन को
सीपीयू प्रोफ़ाइलर में सीपीयू गतिविधि की रिकॉर्डिंग शुरू और बंद करने की सुविधा.
सीपीयू प्रोफ़ाइलर, आपके ऐप्लिकेशन के कॉल आने पर रिकॉर्ड करना शुरू कर देता है
startMethodTracing(String tracePath)
,
साथ ही, सीपीयू प्रोफ़ाइलर आपके ऐप्लिकेशन के कॉल रिकॉर्ड करना बंद कर देता है
stopMethodTracing()
. हालांकि
इस एपीआई का इस्तेमाल करके ट्रिगर होने वाली सीपीयू गतिविधि को रिकॉर्ड करना
डीबग एपीआई को चालू सीपीयू रिकॉर्डिंग कॉन्फ़िगरेशन के तौर पर इस्तेमाल करें.
Debug
एपीआई की मदद से, सीपीयू गतिविधि की रिकॉर्डिंग को कंट्रोल करने के लिए, अपने डिप्लॉयमेंट में
Android 8.0 (एपीआई लेवल 26) या इसके बाद के वर्शन पर चलने वाले डिवाइस पर इंस्ट्रुमेंट्ड ऐप्लिकेशन.
प्रोफ़ाइल वाले ऐप्लिकेशन में एपीआई से शुरू की गई रिकॉर्डिंग की सुविधा काम करती है. हालांकि, इसे Android Studio में इस्तेमाल किया जा सकता है
प्रोफ़ाइलर को यूज़र इंटरफ़ेस (यूआई) में रिकॉर्डिंग का स्टेटस दिखाने के लिए, डीबग करने लायक ऐप्लिकेशन की ज़रूरत होती है.
अहम जानकारी:
Debug
एपीआई का इस्तेमाल किया जा सकता है
यह सीपीयू (CPU) की रिकॉर्डिंग शुरू और बंद करने के किसी दूसरे तरीके से अलग होता है
जैसे, सीपीयू प्रोफ़ाइलर के ग्राफ़िकल यूज़र इंटरफ़ेस के बटन और
ऐप्लिकेशन पर अपने-आप रिकॉर्ड होने की सुविधा के लिए, रिकॉर्डिंग कॉन्फ़िगरेशन की सेटिंग
शुरू करें.
बफ़र का साइज़ आठ एमबी से कम होने की वजह से,
startMethodTracing(String tracePath)
तरीका
Debug
API को ऐसे छोटे इंटरवल या मामलों के लिए डिज़ाइन किया गया है जो
मैन्युअल तरीके से रिकॉर्डिंग शुरू/बंद करना मुश्किल होता है. लंबी अवधि की रिकॉर्डिंग के लिए, इस्तेमाल करें
Android Studio में प्रोफ़ाइलर के यूज़र इंटरफ़ेस (यूआई) की इमेज.
ज़्यादा जानकारी के लिए, यह देखें अपने ऐप्लिकेशन को इंस्टॉल करके ट्रेस लॉग जनरेट करें.
ऐप्लिकेशन शुरू होने के दौरान, सीपीयू से जुड़ी गतिविधि रिकॉर्ड करें
ऐप्लिकेशन शुरू होने के दौरान सीपीयू की गतिविधि को अपने-आप रिकॉर्ड करना शुरू करने के लिए, यह करें फ़ॉलो किया जा रहा है:
- Run > कॉन्फ़िगरेशन में बदलाव करना.
- प्रोफ़ाइलिंग टैब में, किसी तरीके को रिकॉर्ड करना शुरू करें के बगल में मौजूद बॉक्स को चुनें ट्रेस करें.
- मेन्यू से, सीपीयू रिकॉर्डिंग कॉन्फ़िगरेशन चुनें.
- लागू करें पर क्लिक करें.
- अपने ऐप्लिकेशन को Android 8.0 (एपीआई लेवल 26) या उसके बाद के वर्शन पर काम करने वाले डिवाइस पर डिप्लॉय करें Run > प्रोफ़ाइल.