Kapitel 2. Brug af KCachegrind

Indholdsfortegnelse

Opret data til visning
Callgrind
OProfile
Grundlæggende om brugergrænseflade

Opret data til visning

Først vil man generere ydelsesdata, ved at måle aspekter af et programs karakteristik ved kørsel, ved at bruge et profileringsværktøj. KCachegrind indeholder ikke noget profileringsværktøj, men udmærker sig når det bruges i kombination med Callgrind. Det kan også, ved at anvende en konverter, bruges til at visualisere data produceret af OProfile. Selvom dette ikke er denne manuals opgave at dokumentere profilering med disse værktøjer, får næste sektion dig hurtigt i gang med en kort guide.

Callgrind

Callgrind er til rådighed fra http://kcachegrind.sf.net Læg mærke til at det tidligere hed Calltree ,men dette navn var misvisende.

Normalt bruges callgrind som præfiks på kommandolinjen når du starter dit program, således:til præfiks kommando linje til start program tommer

program a fil IndlæstKCachegrind.

Mere avanceret brug ville være at dumpe profildata hver gang en given funktion i din applikation bliver kaldt. F.eks. for konqueror for at se profildata kun for optegning af en netside, kunne man vælge at dumpe data hver gang man vælger vis/genopfrisk. Dette svarer til at kalde KonqMainWindow::slotReload. Brug

callgrind --dump-before=KonqMainWindow::slotReload konqueror

. Dette producerer flere profildatafiler med et ekstra sekventielt nummer i slutningen af filnavnet. En fil uden et sådant nummer (som kun ender på proces-PID) produceres også. Ved at indlæse filen i KCachegrind, indlæses alle de andre også og kan ses i partoversigten og partlisten.

OProfile

OProfile er tilgængelig fra http://oprofile.sf.net. Følg installationsinstruktionerne på siden. Kontrollér dog først om ikke din distribution allerede har en pakke til rådighed (som SuSE).

Profilering af hele systemet er kun tilladt for root, fordi alle handlinger på systemet kan observeres. Derfor skal man gøre det følgende som root. Først konfigureres profileringsprocessen, vha. GUI oprof_start eller med kommandolinjeværktøjet opcontrol. Standardkonfigurationen bør være timertilstand (se introduktionen). For at begynde målingen køres opcontrol -s. Dernæst køres applikationen du er interesseret i og bagefter udføres opcontrol -d. Dette udskriver måleresultaterne til filer under kataloget /var/lib/oprofile/samples. For at kunne visualisere dataene i KCachegrind udføres dette i et tomt katalog:

opreport -gdf | op2callgrind

. Dette producerer en masse filer, en for hvert program der kørte på systemet. Filerne kan indlæses i KCachegrind hver for sig.