Upload
vuongnguyet
View
219
Download
0
Embed Size (px)
Citation preview
DTraceOpenSource Data Center Conference
Johannes Schlüter, Sun Microsystems<[email protected]>
Nürnberg, 30. April 2009
DTrace, MUCOSUG
DTrace EigenschaftenKein Effekt wenndeaktiviertBeliebig (“arbitrary”)nutzbarDatenintegritätSkalierbarSkriptbarkeit
Benutzerdefinierte VariablenAggregation von Daten
...
DTrace, MUCOSUG
Architektur
userlandkernel
DTrace
syscall fbtpid ....
dtrace(7d)
libdtrace(3LIB)
dtrace(1M) plockstat(1M)
lntstat(1M)b.da.d
DTrace scripts
DTrace basierte Tools
Provider
DTrace, MUCOSUG
Wo?
100% OpenSource, CDDL
Solaris 10OpenSolarisFreeBSDMacOS XLinux?
ftp://crisp.dynalias.com/pub/release/website/dtrace/
DTrace, MUCOSUG
Providerfunction boundary tracingsyscallpidprofileioschedvminfoproc...
Foto
: Nic
k K
ocha
rhoo
k
DTrace, MUCOSUG
Aggregation
#!/usr/sbin/dtrace -s
syscall:::entry { @[execname, probefunc] = count();}
DTrace, MUCOSUG
Programmablauf
#!/usr/sbin/dtrace -s
#pragma D option flowindent
pid$target:::entry,pid$target:::return{}
DTrace, MUCOSUG
Wo samma denn?
#!/usr/sbin/dtrace -s
syscall::read:entry/execname==”Xorg”/{ @[ustack()] = count();}
DTrace, MUCOSUG
Statische Sonden
#!/usr/sbin/dtrace -smysql*:::query-start { self->start = timestamp; printf("%s", copyinstr(arg0));}
mysql*:::query-done { this->duration = timestamp – self->start; @=quantize(this->duration); printf(" (%i ns)\n", this->duration);}
DTrace, MUCOSUG
GUI? - Chime
http://opensolaris.org/os/project/dtrace-chime
DTrace, MUCOSUG
Sun Storage 7000
http://blogs.sun.com/brendan/entry/unusual_disk_latency
http://blogs.sun.com/brendan/entry/heat_map_analytics
DTrace, MUCOSUG
Weitere InformationenOpenSolaris DTrace Community http://opensolaris.org/os/community/dtrace/
DTrace Toolkithttp://opensolaris.org/os/community/dtrace/dtracetoolkit/
Solaris Big Adminhttp://www.sun.com/bigadmin/content/dtrace/
Bryan Cantrill, DTrace reviewhttp://video.google.com/videoplay?docid=-8002801113289007228