Poblugowo
Małe addendum powykładowe. Slajdy w najbliższym czasie znajdą się
pod adresem
ftp://linux.bydg.org/pub/linux/people/zdzichu/
linux.bydg.org/opisy/opis.inc.php?id=1466742. Skrypciki z wykładu:
- kolejne kroki analizy syscalli:
dtrace -n 'syscall:::entry { @num[probefunc] = count(); }'
dtrace -n 'syscall::ioctl:entry { @num[execname, pid, probefunc] = count(); }'
dtrace -n 'syscall::ioctl:entry/execname == "gdmgreeter"/ { @num[ustack()] = count(); }' - liczba odczytywanych danych przez programy:
dtrace -n 'io:::start { printf("%d %s %d", pid, execname, args[0]->b_bcount); }'
- histogramy wielkości odczytywanych porcji danych:
dtrace -n 'io:::start { @[execname] = quantize(args[0]->b_bcount); }'
- gotowe skrypty, które pokazywałem (tcpdumplike.stp, sigkill.stp, iostats.stp) pochodziły z SystemTap Examples.
Kilka odnośników od poczytania:
- DTrace one-liners
- DTrace Knockoffs o SystemTap
- DTrace and Perl
- DTrace and PHP, demonstrated
- DTrace for Ruby is available
- DTrace provider for Python
- DTrace meets JavaScript
- DTrace and Java: Exposing Performance Problems That Once Were Hidden
- Postgresql Dynamic Tracing
- DTrace probes in MySQL
- How did Solaris 10 and Dtrace help Twitter improve performance?
- SystemTap WarStories
- http://www.crisp.demon.co.uk/blog/
Comments
Comments powered by Disqus