Canonical har introduceret etrace, et hjælpeprogram designet til at spore aktivitet under applikationens udførelse. Programmet ligner strace- og ltrace-hjælpeprogrammerne og bruger også ptrace ved kørsel.
Målet etrace-hovedstol debugger og analyserer startede applikationer fra snap Værktøjet giver dig mulighed for hurtigt at evaluere, hvilke programmer og filer der bruges, når du kører en snap-pakke.
Der gives to kommandoer, "exec" og "file", for information om, hvordan du får adgang til filer og kører andre processer. I det første tilfælde overvåges arbejdet med filrelaterede systemopkald, og i det andet opfanges familien af udøvende systemopkald.
Etrace er en generisk sporingsapplikation, der er nyttig til tre brede måle- og fejlretningsformål:
- Hvor lang tid tager det et program at vise et vindue (grafisk / UI) på en skærm.
- Sekvensen af opgaver, der oprettes og udføres af hovedprogrammet i løbet af dets udførelsestid. Listen over filer, der er adgang til under udførelsen af et program.
Disse metrics kan bruges til at debugge potentielle problemer i snaps og forstå, hvad en pakke forsøger at snappe eller finde ydeevne flaskehalse på et øjeblik.
Selvfølgelig, fungerer også med native linux-pakker eller ethvert eksekverbart program, omend med lidt reduceret out-of-the-box-funktionalitet (det geninstallerer f.eks. ikke den oprindelige pakke), men du kan stadig spore appen og måle, hvor lang tid det tager at få vist et vindue.
Værktøjet kan også bruges til at identificere flaskehalse ydeevne i X11-baserede grafikapplikationer og viser, hvor lang tid det tager, før applikationen initialiseres, inden vinduet påbegyndes.
Derudover er de specifikke snapindstillinger "–reinstall-snap" og "–clean-snap-user-data" tilgængelige, så du kan geninstallere snap-pakken for at udføre en cache-fri måling eller fjerne brugerdata tilknyttet pakken før kører det.
Grundlæggende brug
Etrace er tilgængelig som en snap-pakke, så vi skal først installere den. Da etrace bruges til at køre vilkårlige programmer, herunder andre snap-pakker og endda traditionelle Linux-pakker, kræver det systemtilladelser via klassisk lockdown, som kan accepteres ved hjælp af -classic-flag, når følgende kommando udføres.
Sådan installeres etrace:
snap install etrace --candidate --classic
Den første etrace brugssag er at måle, hvor lang tid det tager en grafikapplikation at vise et vindue på en skærm.
Lad os starte med et simpelt plugin, gnome-lommeregner og cykle det 10 gange for at se, hvor lang tid denne udførelse tager. Bemærk, at du skal have gnome-calculator installeret - installer gnome-calculator. Her bruger vi –no-trace-indstillingen, fordi vi ikke vil have den fulde trace-stak, vi vil bare have etrace til at måle, hvor lang tid det tager at starte op; vi kommer i fuld sporingsfunktion senere.
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
Derudover Canonical annoncerede implementeringen af snap support til komprimeringsalgoritmen LZO. LZO-algoritmen fokuserer på at opnå maksimal dekompressionshastighed på bekostning af at øge størrelsen på den resulterende fil. Når du tester en pakke med Chromium, kan du bruge LZO i stedet for standard XZ-algoritmen til at fremskynde frigivelsen af snappakken 2-3 gange ved at reducere den tid, det tager at dekomprimere SquashFS-billedet.
Især tager den første Chromium-lancering, der er installeret fra en normal deb-pakke, cirka 1,7 sekunder.
Den første frigivelse fra snap, når du bruger XZ, tager 8.1 sekunder, og når du bruger LZO - 3.1 sekunder. Ved genstart, med de cachelagrede data, er starttiderne 0,6, 0,7 og 0,6 sekunder. henholdsvis.
Størrelsen på snappakken er steget fra 150 MB til 250 MB med LZO.