Canonical je predstavio etrace, uslužni program dizajniran za praćenje aktivnosti tokom izvršavanja aplikacije. Program podsjeća na strace i ltrace uslužne programe, a također koristi ptrace u vrijeme izvođenja.
Cilj etrace principal je otklanjanje grešaka i analiza pokrenutih aplikacija from snap Uslužni program vam omogućava da brzo procijenite koji se programi i datoteke koriste prilikom pokretanja snap paketa.
Obezbeđene su dve naredbe, "exec" i "file", za informacije o tome kako pristupiti datotekama i pokrenuti druge procese. U prvom se slučaju nadgleda rad sistemskih poziva povezanih s datotekama, a u drugom se presreće porodica izvršnih sistemskih poziva.
Etrace je generička aplikacija za praćenje, korisna u tri široke svrhe mjerenja i otklanjanja pogrešaka:
- Koliko vremena treba aplikaciji za prikaz prozora (grafički / korisnički interfejs) na ekranu.
- Slijed zadataka stvorenih i izvršenih od strane glavnog programa za vrijeme njegovog izvršavanja. Popis datoteka kojima se pristupa tijekom izvršavanja programa.
Te se metrike mogu koristiti za otklanjanje potencijalnih problema u trenu i shvatite šta paket pokušava u trenu uklopiti ili pronaći uska grla u izvedbi.
Naravno, također radi s izvornim Linux paketima ili bilo kojim izvršnim programom, doduše s malo smanjenom funkcionalnošću izvan paketa (na primjer, ne reinstalira izvorni paket), ali aplikaciju i dalje možete indeksirati i izmjeriti koliko je vremena potrebno za prikaz prozora.
Uslužni program se takođe može koristiti za prepoznavanje uskih grla performanse u grafičkim aplikacijama zasnovanim na X11 i pokazuje koliko je vremena potrebno da se aplikacija pokrene prije početka prikazivanja prozora.
Pored toga, dostupne su i posebne opcije za snap "–reinstall-snap" i "–clean-snap-user-data", što vam omogućava da ponovo instalirate snap paket da biste izvršili merenje bez predmemorije ili uklonili korisničke podatke povezane sa paketom pre trčanje.
Osnovna upotreba
Etrace je dostupan kao snap paket, pa ga prvo moramo instalirati. Budući da se etrace koristi za pokretanje proizvoljnih programa, uključujući druge snap pakete, pa čak i tradicionalne linux pakete, zahtijeva dozvole za čitav sistem putem klasičnog zaključavanja, što se može prihvatiti upotrebom zastavice -classic prilikom izvršavanja sljedeće naredbe.
Da biste instalirali etrace:
snap install etrace --candidate --classic
Prvi slučaj upotrebe etrace je izmjeriti koliko je grafičkoj aplikaciji potrebno da prikaže prozor na ekranu.
Počnimo s jednostavnim dodatkom, gnome-kalkulatorom, i pokrenite ga 10 puta da biste vidjeli koliko vremena traje ovo izvršenje. Imajte na umu da morate imati instaliran gnome-kalkulator - instalirajte gnome-kalkulator. Ovdje koristimo opciju –no-trace jer ne želimo puni stog tragova, već samo etrace da izmjerimo koliko je vremena potrebno za pokretanje; kasnije ćemo ući u pune mogućnosti praćenja.
etrace --repeat = 10 exec --use-snap-run --no-trace gnome-calculator --cmd-stderr = /dev/null Total startup time: 1.531152957s Total startup time: 513.948576ms Total startup time: 512.980061ms Total startup time: 515.576753ms Total startup time: 508.354472ms Total startup time: 515.734329ms Total startup time: 508.414271ms Total startup time: 514.258788ms Total startup time: 508.407346ms Total startup time: 511.950964ms
Takođe, Canonical je najavio primjenu snap podrške za algoritam kompresije LZO. LZO algoritam fokusira se na postizanje maksimalne brzine dekompresije, po cijenu povećanja veličine rezultirajuće datoteke. Prilikom testiranja paketa s Chromiumom, upotreba LZO umjesto zadanog XZ algoritma omogućava vam ubrzanje oslobađanja paketa za snap 2-3 puta smanjenjem vremena potrebnog za dekompresiju slike SquashFS.
Konkretno, prvo pokretanje Chromiuma instalirano iz normalnog deb paketa traje oko 1,7 sekundi.
Prvo oslobađanje od pucanja kada koristite XZ traje 8.1 sekunde, a kada koristite LZO - 3.1 sekunde. Prilikom ponovnog pokretanja, s pohranjenim podacima, vremena pokretanja su 0,6, 0,7 i 0,6 sekundi. respektivno.
Veličina snap paketa povećala se sa 150 MB na 250 MB sa LZO.