Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
360
Zastosowanie swarmingu do dystrybucji danych
ttorcz
0
110
Other Decks in Technology
See All in Technology
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
530
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
700
Claude Designがめちゃくちゃ便利なので使ってほしい
diggymo
0
190
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
240
AWS FinOps Agent 結局何が得意なの?
siromi
0
230
サーバーフルコンピューティング?AWS Lambda
iwatatomoya
0
120
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
220
1人アドミンな私はAWSアカウント申請をSlackで完結したい!
ysuzuki
0
110
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
310
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
670
FinTech 1-2 : Overview of FinTech
ks91
PRO
0
120
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
660
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.8k
Unsuck your backbone
ammeep
672
58k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
750
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
540
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
380
Ruling the World: When Life Gets Gamed
codingconduct
0
380
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ę.