Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Wprowadzenie do DTrace

Wprowadzenie do DTrace

Wykład dla BLUG.

9b91521dd3d020edb72521181aa32c9f?s=128

Tomasz

June 06, 2009
Tweet

Transcript

  1. Wprowadzenie do DTrace Tomasz Torcz <tomek@pipebreaker.pl> Bydgoszcz 6.06.2009 Massagetherapyfoundation, http://www.flickr.com/photos/8206128@N06/512560597/

  2. Plan akcji • *ja* • czym właściwie jest DTrace •

    jak może się przydać • hands-on • SystemTap
  3. Dynamic Tracing • systemowa komisja śledcza • ( ) ★

    ★ ★ ★ ★ Euro NCAP • język D • histogramy, agregacje • Solaris (styczeń 2005), FreeBSD, Mac OS X
  4. Co można śledzić • sąsiada • wywołania systemowe • funkcje

    jądra i sterowników • wywołania I/O • żonę sąsiada • blokady
  5. Prezentacja dowodów • podliczenia • agregacje • histogramy • back

    trace
  6. Jak • koszernie #! /usr/sbin/dtrace -s syscall:::entry /pid == 1000/

    { @c[probefunc] = count(); } • perliście dtrace -n 'syscall:::entry/pid==1000/{@c[probename]=count();}'
  7. Przez granicę syscalli

  8. Informacja z aplikacji • USDT • coś mądrego o transakcjach

    (bazy danych) • PHP, Ruby, Python • Xen
  9. vIH legh • choQ gnochwI' • (★★★★★) DivI' NCAP •

    Hol D • ngoqDe', chel • Hov (wen 2005), FreeBSD, naHnagh OS X
  10. vIH legh

  11. #pragma D option destructive BEGIN { self->interested =0; } proc:::exec-success

    /(execname =="rm") && (self->interested == 0) && (dirname(curpsinfo->pr_psargs) != " { self->interested = 1 ; printf("Someone is trying to delete %s\n",dirname(curpsinfo->pr_psargs +3)); printf("%s %d",dirname(curpsinfo->pr_psargs+3),timestamp); printf("Snapshotting %s %d",dirname(curpsinfo->pr_psargs+3),timestamp); system("/usr/sbin/zfs snapshot rpool%s@%d",dirname(curpsinfo->pr_psargs+3),times stop(); system("prun %d", pid); }
  12. ... • PowerTop • tcpdump • usbmon • blktrace •

    bootchart – any program chart
  13. Drób arktyczny • First rule of … • Second rule

    of … • http://www.crisp.demon.co.uk/blog/ • kranik • ½ roku
  14. Dziękuję za uwagę.