SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
DTrace for biginners part(2)
Report
Shoji Haraguchi
Follow
I Miss The Old Sun Microsystems
Jun. 28, 2012
•
0 likes
•
961 views
1
of
18
DTrace for biginners part(2)
Jun. 28, 2012
•
0 likes
•
961 views
Download Now
Download to read offline
Report
DTrace for biginners part(2) Japanese lang only
Shoji Haraguchi
Follow
I Miss The Old Sun Microsystems
Recommended
[第2版]Python機械学習プログラミング 第8章
Haruki Eguchi
611 views
•
31 slides
[第2版]Python機械学習プログラミング 第13章
Haruki Eguchi
257 views
•
21 slides
Boostライブラリ一周の旅
Akira Takahashi
4 views
•
15 slides
Mock and patch
Toru Furukawa
2.5K views
•
26 slides
テーマ「最適化」
technocat
917 views
•
24 slides
歌舞伎座Tech#2 C++11 LT
roentgen_jp
735 views
•
17 slides
More Related Content
What's hot
[第2版]Python機械学習プログラミング 第15章
Haruki Eguchi
389 views
•
27 slides
Away3D 4.1 パーティクル入門
Yasunobu Ikeda
2.6K views
•
20 slides
array.map(&:key)ってなんやねん
Yoichi Toyota
353 views
•
10 slides
Xtend - Javaの未来を今すぐ使う
Tatsumi Naganuma
3.7K views
•
41 slides
怠惰なRubyistへの道 fukuoka rubykaigi01
nagachika t
865 views
•
74 slides
ディープラーニングフレームワーク とChainerの実装
Ryosuke Okuta
10.1K views
•
50 slides
What's hot
(19)
[第2版]Python機械学習プログラミング 第15章
Haruki Eguchi
•
389 views
Away3D 4.1 パーティクル入門
Yasunobu Ikeda
•
2.6K views
array.map(&:key)ってなんやねん
Yoichi Toyota
•
353 views
Xtend - Javaの未来を今すぐ使う
Tatsumi Naganuma
•
3.7K views
怠惰なRubyistへの道 fukuoka rubykaigi01
nagachika t
•
865 views
ディープラーニングフレームワーク とChainerの実装
Ryosuke Okuta
•
10.1K views
機械学習
ssusere8ae711
•
62 views
20180123 power shell
Trainocate Japan, Ltd.
•
717 views
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Takashi J OZAKI
•
24.4K views
Enshu8
sudahiroshi
•
279 views
C++14 Overview
Akira Takahashi
•
11.8K views
PHP5.5新機能「ジェネレータ」初心者入門
kwatch
•
22.2K views
人工無脳バトル 1st STEP 回答と解説
JustSystems Corporation
•
1.2K views
エキ Py 読書会02 2章後半
Tetsuya Morimoto
•
649 views
Python opt
Mikio Kubo
•
1.1K views
Boost.B-tree introduction
Takayuki Goto
•
2.3K views
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Fujio Kojima
•
18.9K views
研究生のためのC++ no.3
Tomohiro Namba
•
419 views
C++ Template Meta Programming の紹介@社内勉強会
Akihiko Matuura
•
9.4K views
Similar to DTrace for biginners part(2)
Flutterを体験してみませんか
cch-robo
254 views
•
50 slides
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
YoheiOkuyama
3.1K views
•
103 slides
Python standard 2022 Spring
anyakichi
205 views
•
47 slides
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
de:code 2017
8.3K views
•
71 slides
Prosym2012
MITSUNARI Shigeo
2.7K views
•
33 slides
pg_bigmを用いた全文検索のしくみ(前編)
NTT DATA OSS Professional Services
4.4K views
•
34 slides
Similar to DTrace for biginners part(2)
(20)
Flutterを体験してみませんか
cch-robo
•
254 views
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
YoheiOkuyama
•
3.1K views
Python standard 2022 Spring
anyakichi
•
205 views
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
de:code 2017
•
8.3K views
Prosym2012
MITSUNARI Shigeo
•
2.7K views
pg_bigmを用いた全文検索のしくみ(前編)
NTT DATA OSS Professional Services
•
4.4K views
さわってみようTOPPERS/SSP
NSaitoNmiri
•
3.2K views
第一回Data mining勉強会 -第二章
Tomonobu_Hirano
•
515 views
第一回Data mining勉強会 -第二章 - 原案
yushin_hirano
•
604 views
PythonによるDeep Learningの実装
Shinya Akiba
•
18.1K views
Tokyor23 doradora09
Nobuaki Oshiro
•
2.1K views
Chainerの使い方と自然言語処理への応用
Seiya Tokui
•
53.2K views
R言語勉強会#4.pdf
Takuya Kubo
•
110 views
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
Daiyu Hatakeyama
•
518 views
Introduction of Python
Tomoya Nakayama
•
1.2K views
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
•
18.1K views
Rを用いたGIS
Mizutani Takayuki
•
19.3K views
第1回 Jubatusハンズオン
JubatusOfficial
•
8K views
第1回 Jubatusハンズオン
Yuya Unno
•
7.9K views
Direct xとopenglの隠蔽実装例
tecopark
•
10K views
DTrace for biginners part(2)
1.
はじめての DTrace(2) “簡単なことからコツコツと” shojih
2.
本日の学習目標 DTrace とはどのようなもの?
DTrace を使うと何が便利? 何から学習するといいだろうか? Dプログラムの紹介 Dプログラムの実例紹介
3.
Dプログラムの紹介
4.
と、その前に参考本の紹介 ●
タイトル/著者 ● DTrace: Dynamic Tra- cing in Oracle Solaris, Mac OSX and FreeBSD ● Brendan Gregg/Jim Mauro ● ISBN-10:0132091518 ● 発売日: 2011/4/1 ● 4,579 (参考Amazon) ● dtracebook.com から本で 紹介されているサンプルDプロ グラムを入手可能
5.
Dプログラムの紹介-特長(1) ●
C言語によく似た言語仕様になっています ● 制御構造のサブセット ● 拡張されたデータ構造 ● 文字列型、連想配列、集積体 ● 組み込み関数、組み込み変数 ● スレッド固有変数、節固有変数 ● 構造体、共用体、多次元配列、ポインタも使用可能です ● 無効なポインタアクセスはDTrace実行環境が検出 ● ANSI C演算子 ● カーネルCデータ型への完全なアクセスが可能です
6.
Dプログラムの紹介-特長(2) ●
バッファー機能 ● トレースアクションがデータを記録 ● trace(式) ● 集積関数 ● 集計を行う際に便利です ● awk(1)やPerlによる後処理が不要になります ● count, sum, avg, min, max, lquantize, quantize ● 結果は集積体に保存します ● @name[ keys ] = aggfunc( args );
7.
Dプログラムの紹介-書式 ●
複数のプローブ節によって構成 ● プローブ節の標準形式 プロバイダ : モジュール : 関数 : 名前 Provider : Module : Function : Name プローブ / 述語 / { アクション文 } ● awk(1)やPerlに似た形式
8.
書式の詳細、変数、組み込 み関数については次回以降 に紹介します。今日は雰囲 気だけご理解ください。
9.
Dプログラムの紹介-超簡単な例 # dtrace -n
BEGIN -n END dtrace: description 'BEGIN' matched 1 probe dtrace: description 'END' matched 1 probe CPU ID FUNCTION:NAME 0 1 :BEGIN ^C 0 2 :END #
10.
Dプログラムの紹介-バッファ使用例 /* Hello.d */ BEGIN { trace(“Hello, world”); } # dtrace s Hello.d dtrace: script 'Hello.d' matched 1 probe CPU ID
FUNCTION:NAME 0 1 :BEGIN Hello, world #
11.
Dプログラムの紹介-書式付き出力(1) /* trussrw.d */ syscall::read:entry,
syscall::write:entry /pid == $1 / { printf(“%s(%d, %x, %d)”, probefunc, arg0, arg1, arg2); } syscall::read:return, syscall::write:return /pid == $1 / { printf(“tt = %dn”, arg1 ); }
12.
Dプログラムの紹介-書式付き出力(2) # dtrace
-q -s trussrw.d 12345 = 1 write(2, 0x8089e48, 1) = 1 read(63, 0x8090a38, 1024) = 0 read(63, 0x8090a38, 1024) = 0 write(2, 0x8089e48, 52) = 52 read(0, 0x8089878, 1) = 1 write(2, 0x8089e48, 1) = 1 read(63, 0x8090a38, 1024) = 0 read(63, 0x8090a38, 1024)^C #
13.
Dプログラムの紹介-集積関数 (さわりだけ。。) @name[keys] =
aggfunc(args); ● '@' keys で集積された結果 ● keys カンマで区切られた D の変数のリスト ● aggfunc の例 ● count() 引数はなく、呼ばれた回数を返す ● sum() 引数で与えられた値の合計値を返す ● avg() 引数で与えられた値の平均値を返す ● min(expr)/max(expr) 引数で与えられた値のうち最小値/最大値を返す ● lquantize() 第1引数で与えられた値を、第2, 3, 4 引数で与えられたリニア(線形)の単位にけて回数を 集計し、結果をグラフで出力 ● quantize() 引数で与えられた値を2の累乗の単位に分けて集計し、結果をグラフで出力
14.
Dプログラムの紹介-集積関数(1) /* quantize.d */ syscall::write:entry {
self->ts = timestamp; } syscall::write:return /self->ts/ { @time[execname] = quantize(timestamp - self- >ts); self->ts = 0; }
15.
Dプログラムの紹介-集積関数(2) vi value Distribution count 8192 | 0 16384 |@@@@@@@@@@@@@@@@@@@@ 1 32768 |@@@@@@@@@@@@@@@@@@@@ 1 65536 | 0 dtrace value Distribution count 32768 | 0 65536 |@@@@@@@@@@@@@@@@@@@@@@@@@ 1 131072 | 0
16.
Dプログラムの紹介-サンプルツール ●
/usr/dtrace/DTT (Oracle Solaris 11 の場合) ● /opt/DTT (OpenIndianaの場合) ● そのまま解析ツールとして使える便利なツールキット集 ● /usr/demo/dtrace (Solaris 10の場合) ● マニュアルに記載されている約80個のDスクリプト ● 文法の解説 ● 各プロバイダの解説 ● システム調査ツールの例として利用可能 ● ユーザープロセスの追跡例
17.
Dプログラム実例紹介 ~ DTrace本と DTrace
Tool Kit(DTT)の サンプルプログラムからDTrace初心者で も開発未経験者でも、ちょっと使って見よう かなと思われそうなDプログラムを実演し ます~
18.
次は何を学習しましょうか?
次回にづづく!