Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Wprowadzenie do DTrace
Search
Tomasz
June 06, 2009
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Wprowadzenie do DTrace
Wykład dla BLUG.
Tomasz
June 06, 2009
More Decks by Tomasz
See All by Tomasz
The Song of JBoss and Chef
ttorcz
0
220
Home, Smart Home
ttorcz
0
350
FreeIPA: zintegrowane zarządzanie użytkownikami
ttorcz
0
270
systemd – ściągawka
ttorcz
0
190
Solaris? meh.
ttorcz
0
130
systemd: wymyślmy jeszcze jedno koło
ttorcz
0
220
Podziel się wiedzą: systemd
ttorcz
0
83
Wirtualizacja od podszewki
ttorcz
0
350
Zastosowanie swarmingu do dystrybucji danych
ttorcz
0
110
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
2027年のMetricKit
kantacky
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
20分でわかるセキュアAPI
nwiizo
2
310
エンドユーザー視点で見る SansanのMeraki活用と内製自動化
sansantech
PRO
0
120
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
670
ハーレムエンジニアリング
kazuma777777
0
190
PLATEAU で バーチャル花火大会
tatsuya1970
0
170
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
tamachi.go 誕生の裏側
rymiyamoto
1
110
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
870
AI開発に用いられるHPC技術について
gpuunite_official
0
130
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
370
Amusing Abliteration
ianozsvald
1
250
The Spectacular Lies of Maps
axbom
PRO
1
930
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Test your architecture with Archunit
thirion
1
2.3k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
First, design no harm
axbom
PRO
2
1.3k
Tell your own story through comics
letsgokoyo
1
1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
Transcript
Wprowadzenie do DTrace Tomasz Torcz <
[email protected]
> Bydgoszcz 6.06.2009 Massagetherapyfoundation, http://www.flickr.com/photos/8206128@N06/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%s@%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ę.