Wallclock er en enkel stabel basert prestasjons logger skrevet i Python.
Wallclock gir noen enkle verktøy for å identifisere langsomme deler av koden din. Det opprettholder en bunke kjører timere, og rapporterer tre av henrettelsen ganger når stabelen tømmer ut.
Enkelt Bruk
Til annen kode med wallclock, bruker `` push`` og `` pop`` funksjonene i wallclock modulen ::
& Nbsp; & nbsp; & nbsp; import wallclock
& Nbsp; & nbsp; & nbsp; def slow_function ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push ("slow funksjon ')
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; import tid
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; time.sleep (3)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop ("slow funksjon ')
& Nbsp; & nbsp; & nbsp; def main ():
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.push ('håndtering av en anmodning', aktiverer = True)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; slow_function ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; wallclock.pop ('håndtering én forespørsel')
& Nbsp; & nbsp; & nbsp; main ()
Dette vil gi et lite tre på `` stderr`` oppsummerer tiden det tar å utføre `` main () `` ::
& Nbsp; & nbsp; & nbsp; [3,001 sek] håndtering én forespørsel
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [3,001 sek] treg funksjon
Den `` push`` funksjonen tar en posisjonell argument, som er etiketten på timeren blir skjøvet på wallclock stack. Dette er normalt en kort, beskrivende etikett for den type arbeid som skjer i henhold til timing. `` Push`` tar også en valgfri søkeord argument, `` enable``, som styrer om dette kallet til `` push`` bør starte timing (hvis det ikke allerede er i gang). `` Wallclock`` ignorerer samtaler til `` push`` før den er aktivert, og deaktiverer seg selv automatisk når den gjør det mulig `` push`` er `` pop``ped.
Den `` pop`` funksjonen tar en posisjonell argument, som er etiketten til pop. Dette gjør det mulig for enkel innsetting av `` push`` / `` pop`` parene rundt kode som kan gå tilbake, eller kanskje heve et unntak, uten å legge til ekstra `` try`` / `` except`` blokker eller lignende (men se nedenfor for en bedre tilnærming). `` Wallclock`` vil komme timere off av stabelen til den finner en tidtaker presset med bestått etikett, eller inntil den tømmer timeren stabelen
Krav .
- Python
Kommentarer ikke funnet