Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Wprowadzenie do DTrace
Tomasz
June 06, 2009
Technology
0
60
Wprowadzenie do DTrace
Wykład dla BLUG.
Tomasz
June 06, 2009
Tweet
Share
More Decks by Tomasz
See All by Tomasz
The Song of JBoss and Chef
ttorcz
0
120
Home, Smart Home
ttorcz
0
87
FreeIPA: zintegrowane zarządzanie użytkownikami
ttorcz
0
180
systemd – ściągawka
ttorcz
0
90
Solaris? meh.
ttorcz
0
50
systemd: wymyślmy jeszcze jedno koło
ttorcz
0
70
Podziel się wiedzą: systemd
ttorcz
0
46
Wirtualizacja od podszewki
ttorcz
0
83
Zastosowanie swarmingu do dystrybucji danych
ttorcz
0
51
Other Decks in Technology
See All in Technology
WebLogic Server for OCI 概要
oracle4engineer
PRO
3
880
OCI DevOps 概要 / OCI DevOps overview
oracle4engineer
PRO
0
500
ChatGPT for Hacking
anugrahsr
0
4.4k
DNS権威サーバのクラウドサービス向けに行われた攻撃および対策 / DNS Pseudo-Random Subdomain Attack and mitigations
kazeburo
5
1.3k
OCIコンテナサービス関連の技術詳細 /oke-ocir-details
oracle4engineer
PRO
0
770
FlexScan HD2452Wの 後継を探して
tring
0
6.3k
ユーザーテストガイドライン VERSION 2.0
kouzoukaikaku
0
1.3k
230125 モニターマウントLT ITガジェット翁(Ryu.Cyber)さん
comucal
PRO
0
4.7k
KyvernoとRed Hat ACMを用いたマルチクラスターの一元的なポリシー制御
ry
0
180
Airdrop for Open Source Projects
epicsdao
0
700
Deep Neural Networkの共同学習
hf149
0
290
メドレー エンジニア採用資料/ Medley Engineer Guide
medley
3
5.1k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
Design by the Numbers
sachag
271
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
840
Unsuck your backbone
ammeep
659
56k
Building Your Own Lightsaber
phodgson
96
4.9k
Music & Morning Musume
bryan
37
4.6k
Build your cross-platform service in a week with App Engine
jlugia
221
17k
Automating Front-end Workflow
addyosmani
1351
200k
4 Signs Your Business is Dying
shpigford
171
20k
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
Transcript
Wprowadzenie do DTrace Tomasz Torcz <
[email protected]
> Bydgoszcz 6.06.2009 Massagetherapyfoundation, http://www.flickr.com/photos/
[email protected]
/512560597/
Plan akcji • *ja* • czym właściwie jest DTrace •
jak może się przydać • hands-on • SystemTap
Dynamic Tracing • systemowa komisja śledcza • ( ) ★
★ ★ ★ ★ Euro NCAP • język D • histogramy, agregacje • Solaris (styczeń 2005), FreeBSD, Mac OS X
Co można śledzić • sąsiada • wywołania systemowe • funkcje
jądra i sterowników • wywołania I/O • żonę sąsiada • blokady
Prezentacja dowodów • podliczenia • agregacje • histogramy • back
trace
Jak • koszernie #! /usr/sbin/dtrace -s syscall:::entry /pid == 1000/
{ @c[probefunc] = count(); } • perliście dtrace -n 'syscall:::entry/pid==1000/{@c[probename]=count();}'
Przez granicę syscalli
Informacja z aplikacji • USDT • coś mądrego o transakcjach
(bazy danych) • PHP, Ruby, Python • Xen
vIH legh • choQ gnochwI' • (★★★★★) DivI' NCAP •
Hol D • ngoqDe', chel • Hov (wen 2005), FreeBSD, naHnagh OS X
vIH legh
#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%
[email protected]
%d",dirname(curpsinfo->pr_psargs+3),times stop(); system("prun %d", pid); }
... • PowerTop • tcpdump • usbmon • blktrace •
bootchart – any program chart
Drób arktyczny • First rule of … • Second rule
of … • http://www.crisp.demon.co.uk/blog/ • kranik • ½ roku
Dziękuję za uwagę.