Canonical ha introduït etrace, Una utilitat dissenyada per rastrejar l'activitat durant l'execució de l'aplicació. El programa s'assembla a les utilitats strace i ltrace i també usa ptrace en runtime.
l'objectiu principal d'etrace és depurar i analitzar aplicacions iniciades des snap La utilitat li permet avaluar ràpidament quins programes i quins arxius s'utilitzen quan s'executa un paquet snap.
Es proporcionen dos comandaments, «exec» i «file», per obtenir informació sobre com accedir a arxius i executar altres processos. En el primer cas, es controla el treball de les trucades a sistema relacionades amb el treball amb arxius, i en el segon, es intercepta la família de trucades a sistema executiva.
Etrace és una aplicació de rastreig genèrica, útil per a tres propòsits amplis de mesurament i depuració:
- Quant de temps triga una aplicació en mostrar una finestra (gràfica / UI) en una pantalla.
- La seqüència de tasques creades i executades pel programa principal durant el seu temps d'execució. La llista d'arxius als quals s'accedeix durant l'execució d'un programa.
Aquestes mètriques es poden usar els problemes de depuració potencials en snaps i comprendre el que intenta fer un paquet snap o trobar colls d'ampolla de rendiment en un instant.
Per descomptat, també funciona amb paquets nadius de Linux o amb qualsevol programa executable, Encara que amb una funcionalitat llista per utilitzar lleugerament reduïda (no reinstal·la el paquet nadiu, per exemple), però encara pot rastrejar l'aplicació i mesurar quant de temps porta per mostrar una finestra.
La utilitat també es pot utilitzar per identificar colls d'ampolla de rendiment en aplicacions gràfiques basades en X11 i mostra quant temps triga l'aplicació a inicialitzar abans de començar a renderitzar la finestra.
A més, estan disponibles les opcions específiques de snap «-reinstall-snap» i «-clean-snap-user-data», el que li permet reinstal·lar el paquet snap per realitzar un mesurament sense memòria cau o eliminar les dades de l'usuari associats amb el paquet abans d'executar-lo.
ús bàsic
Etrace està disponible com a paquet snap, de manera que primer hem de instal·lar-lo. A causa de que etrace s'usa per a executar programes arbitraris, incloses altres paquets snap i fins i tot paquets linux tradicionals, necessita permisos per a tot el sistema des de el confinament clàssic, que pot acceptar-se usant l'indicador -classic quan s'executa la següent comanda.
Per instal·lar etrace:
snap install etrace --candidate --classic
El primer cas d'ús de etrace és mesurar quant de temps triga una aplicació gràfica en mostrar una finestra en una pantalla.
Comencem amb un simple complement, el gnome-calculator, i executeu-lo en un cicle 10 vegades per veure quant temps porta aquesta execució. Recordeu que necessita tenir instal·lat gnome-calculator - instal gnome-calculator. Aquí fem servir l'opció -no-traci perquè no volem la pila de rastreig completa, només volem que etrace mesuri quant temps triga a iniciar-se; entrarem en les capacitats de rastreig completes més endavant.
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
A més, Canonical va anunciar la implementació de suport snap per l'algoritme de compressió LZO. L'algoritme LZO se centra a aconseguir la màxima velocitat de descompressió, a costa d'augmentar la mida de l'arxiu resultant. A l'provar un paquet amb Chromium, l'ús de LZO en lloc de l'algoritme XZ predeterminat li permet accelerar el llançament de l'paquet snap 2-3 vegades a l'reduir el temps requerit per a descomprimir la imatge de SquashFS.
En particular, el primer llançament de Chromium instal·lat des d'un paquet deb normal pren al voltant de 1,7 segons.
El primer llançament des snap quan s'usa XZ pren 8.1 segons i quan s'usa LZO - 3.1 segons. A l'reiniciar, amb les dades emmagatzemades a la memòria cau, els temps d'inici són 0,6, 0,7 i 0,6 segons. respectivament.
La mida de l'paquet snap ha augmentat de 150 MB a 250 MB amb LZO.