systrace არის ძლიერი ინსტრუმენტი, რომელიც აგროვებს დროის ინფორმაციას Android-ზე გაშვებული პროცესებიდან. აი, როგორ აღბეჭდოთ სისტემის კვალი Android Pie-ზე.
Tracing არის ფასდაუდებელი ინსტრუმენტი, რომელიც საშუალებას აძლევს დეველოპერებს გააცნობიერონ სხვადასხვა ცვლილებების გავლენა სისტემაზე და შეუძლია მიაწოდოს მინიშნებები პრობლემების ძირეული მიზეზის დასადგენად.
systrace არის ერთ-ერთი ასეთი ძლიერი ტრასირების ინსტრუმენტი, რომელიც აგროვებს დროის ინფორმაციას პროცესებიდან მუშაობს Android მოწყობილობაზე. systrace ფართოდ გამოიყენებოდა Android შესრულების გუნდი Google-ში Google Pixel ტელეფონების მუშაობის ოპტიმიზაციისთვის. მე გამოვიყენე systrace ბირთვის გრაფიკის ცვლილებების ზეგავლენის შესამოწმებლად, მაგალითად, CPU-ებზე ამოცანების განთავსებაზე და ჯანკების შესაძლო მიზეზების იდენტიფიცირება. systrace შეუძლია მრავალფეროვანი მონაცემების გადაღება, მათ შორის CPU დაგეგმვა, პროცესორის სიხშირე, დისკის I/O, გრაფიკა, Binder აქტივობა და მრავალი სხვა. ინფორმაცია გაერთიანებულია ანგარიშში, რომელიც შეიძლება გაანალიზდეს Google Chrome-ში.
Android Pie-მდე, კვალის აღების ერთადერთი გზა systrace იყო Android მოწყობილობის კომპიუტერთან დაკავშირება და იქიდან systrace-ის გაშვება — ჩვეულებრივ ტერმინალიდან. თუმცა, ყველას არ აქვს მუდმივი წვდომა კომპიუტერზე, ან ცოდნა და თავდაჯერებულობა, რომ აწარმოოს systrace.
Android Pie-ის გამოშვებით, ეს უხერხულობა მოგვარდა დანერგვით Traceur პაკეტი, რომელიც არის ინსტრუმენტი, რომელიც იჭერს ნედლეულ კვალის მონაცემებს პირდაპირ Android ტელეფონზე. Traceur ხელმისაწვდომია როგორც "System Tracing" ოფცია პარამეტრების აპის დეველოპერის ოფციებში, ხოლო Traceur-ის მიერ მოწყობილობაზე დაფიქსირებული ნედლეული კვალის მონაცემები შეიძლება მოგვიანებით გარდაიქმნას systrace HTML ანგარიშში ანალიზისთვის.
ახალი "System Tracing" ოფცია საშუალებას აძლევს მომხმარებლებს მარტივად გადაიღონ და გაუზიარონ კვალი დეველოპერებთან, იმის გარეშე, რომ რეალურად იცოდნენ როგორ გაუშვან. systrace კომპიუტერზე. დეველოპერები სარგებლობენ კომპიუტერის გარეშე კვალის დაჭერისა და შემდგომი ანალიზის შესაძლებლობით, როცა ეს მათთვის მოსახერხებელია. „System Tracing“-ის მიერ შეგროვებული სრული ნედლეული კვალის მონაცემები ასევე მნიშვნელოვნად მცირე ზომისაა, ვიდრე HTML ანგარიშის მიერ გენერირებული systrace, რაც, შესაბამისად, ხდის ნედლეულ კვალის მონაცემებს უფრო შესაფერისს სხვებთან შესანახად და გასაზიარებლად.
გზამკვლევი: სისტემის შეგროვება და სისტემის კვალის ანალიზი
პირველ რიგში, დარწმუნდით, რომ გაქვთ მოწყობილობა, რომელიც მუშაობს Android Pie-ზე და კომპიუტერი, რომელზეც დაინსტალირებულია Python 2. შემდეგი ინსტრუქციები შესრულდა OnePlus 6-ზე, რომელიც მუშაობს უახლესი OxygenOS Android Pie ბეტაზე.
- ჩართეთ დეველოპერის ოფციები პარამეტრების აპში და შემდეგ შედით "სისტემის თვალის დევნებაზე". დეველოპერის ოფციების „გამართვის“ განყოფილებაში.
- System Tracing-ის გახსნის შემდეგ, თქვენ წარმოგიდგენთ გადართვას სისტემის ტრასინგის გასააქტიურებლად და ტრასირების კატეგორიების და კვალის ბუფერული ზომის მორგების შესაძლებლობას. ამ დემონსტრაციისთვის გამოიყენება ნაგულისხმევი კატეგორიები, რაც საკმარისია უმეტეს შემთხვევაში. „სწრაფი პარამეტრების ფილის ჩვენება“ გადამრთველი საშუალებას გაძლევთ დაიწყოთ/შეაჩეროთ მიკვლევა სწრაფი პარამეტრების მეშვეობით. მე გავააქტიურე ეს ამ სახელმძღვანელოსთვის.
- კვალის გადაღების დასაწყებად, შეეხეთ ახლახანს დამატებულ „კვალი ჩაწერის“ სწრაფი პარამეტრების ფილას.
- როდესაც დაასრულებთ სატესტო შემთხვევის მიკვლევას, შეგიძლიათ შეაჩეროთ მიკვლევა შეტყობინების ჩრდილიდან.
- დიდი! თქვენ წარმატებით დაიჭირეთ დაუმუშავებელი კვალი. შეტყობინება მოგთხოვთ გააზიაროთ დაუმუშავებელი კვალი ფაილი. თქვენ უნდა შეძლოთ მისი შენახვა თქვენს მოწყობილობაში, ატვირთოთ ის ონლაინ საცავში, ელფოსტით ვინმესთვის და ა.შ. ალტერნატიულად, შეგიძლიათ გამოიყენოთ ADB, რათა პირდაპირ გადმოიყვანოთ კვალი თქვენი მოწყობილობიდან თქვენს კომპიუტერში (
adb pull /data/local/traces/
). წადით და შეინახეთ კვალი ფაილი თქვენს კომპიუტერში. - დაუმუშავებელი კვალი ფაილი შედგება .ctrace ფორმატი. მისი ნედლეულის ინტერპრეტაცია შეუძლებელია. შეგვიძლია გამოვიყენოთ systrace უფრო სასარგებლო და გასაგები ინტერაქტიული HTML ანგარიშის გენერირება ჩვენი დაუმუშავებელი კვალი ფაილიდან.
- ჩვენ გამოვიყენებთ უახლეს ვერსიას systrace დან კატაპულტის პროექტის რეპო. ტერმინალის აპლიკაციაში მოახდინეთ რეპოს კლონირება (დარწმუნდით, რომ git არის დაინსტალირებული):
git clone https://github.com/catapult-project/catapult.git
- HTML ანგარიშის გენერირება ჩვენი ნედლეული კვალის ფაილიდან გამოყენებით systrace, შეიყვანეთ შემდეგი ბრძანებები:
გენერირებული იქნება HTML ფაილი იგივე სახელით, როგორც ნედლეული კვალი ფაილი. შენიშვნა: systrace მხარს უჭერს მხოლოდ Python 2-ს წერის დროს.python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
- HTML ანგარიშის სანახავად გაუშვით Google Chrome ბრაუზერი და შედით "chrome://tracing" URL-ზე. არ გახსნათ HTML ანგარიში პირდაპირ Google Chrome-ში, რადგან ის ცარიელი გამოჩნდება.
- დააწკაპუნეთ „ჩატვირთვაზე“ და გახსენით HTML ანგარიშის ფაილი ამომხტარი დიალოგიდან. ვოილა! თქვენი კვალის ანგარიში ახლა ხელმისაწვდომია შესამოწმებლად.
Რა არის შემდეგი?
ახლა, როდესაც თქვენ შეძლებთ კვალის დაჭერას და ა systrace ანგარიშში, მნიშვნელოვანია იმის გაგება, თუ როგორ წაიკითხოთ და ინტერპრეტაცია მოხდეს ანგარიშში წარმოდგენილი მონაცემები. დასაწყისისთვის გირჩევთ წაიკითხოთ ”გაგება Systrace" და უყურებს "Android-ის შესრულება: მიმოხილვა (Google I/O ‘17)"და "Systrace თამაშებისთვის" ნახვა systrace მოქმედებაში.
ეს არის სტუმრის პოსტი, რომელიც თავდაპირველად დაიწერა ჯოშ ჩუს მიერ, ასევე ცნობილი როგორც XDA აღიარებული დეველოპერი. ჯოშუო. პოსტი მსუბუქად იყო რედაქტირებული ფორმატისთვის.