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
360
FreeIPA: zintegrowane zarządzanie użytkownikami
ttorcz
0
270
systemd – ściągawka
ttorcz
0
190
Solaris? meh.
ttorcz
0
140
systemd: wymyślmy jeszcze jedno koło
ttorcz
0
220
Podziel się wiedzą: systemd
ttorcz
0
86
Wirtualizacja od podszewki
ttorcz
0
350
Zastosowanie swarmingu do dystrybucji danych
ttorcz
0
110
Other Decks in Technology
See All in Technology
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
180
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
250
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
210
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
2
420
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
3
1.4k
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
3
840
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
620
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
0
1k
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
160
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
310
その指示、Bobにしっかり伝わってる?初心者でも即実践できる プロンプト/コンテキスト設計のコツ
muehara
1
160
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
The Invisible Side of Design
smashingmag
301
52k
Docker and Python
trallard
47
4.2k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
220
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
420
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
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ę.