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
350
Zastosowanie swarmingu do dystrybucji danych
ttorcz
0
110
Other Decks in Technology
See All in Technology
人間はどの意思決定を手放せるのか
kawasima
3
1.3k
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
140
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
150
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
670
絵ではじめるKubernetesセキュリティ
aoi1
3
170
10分で知る最近のOmarchy
komagata
0
280
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
210
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
160
GoCon2026 - Open Source, Open World
sanposhiho
4
3.5k
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
230
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
830
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
150
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
220
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
Skip the Path - Find Your Career Trail
mkilby
1
230
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
270
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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ę.