Top Banner
はじめての DTrace(1) “簡単なことからコツコツと” shojih
26

DTrace for biginners part(1)

Jul 11, 2015

Download

Technology

Shoji Haraguchi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DTrace for biginners part(1)

はじめての DTrace(1)“簡単なことからコツコツと”

shojih

Page 2: DTrace for biginners part(1)

今日の学習目標

DTrace とはどのようなもの? DTrace を使うと何が便利? 何から学習するといいだろうか?

Page 3: DTrace for biginners part(1)

DTrace とは?

Page 4: DTrace for biginners part(1)

動的トレース機能です。(Dynamic Trace)

Page 5: DTrace for biginners part(1)

動的って何が?

Page 6: DTrace for biginners part(1)

トレース(観測)のONとOFFが動的に切り替えられるのです。

Page 7: DTrace for biginners part(1)

通常はOFF。dtrace(1M) 実行中は ON。ON にすると。。。

Page 8: DTrace for biginners part(1)

稼働中のシステムで何が起きているのか観測できます

Page 9: DTrace for biginners part(1)

数万の備え付けの観測ポイントを利用できます

Page 10: DTrace for biginners part(1)

観測方法はプログラミングできますDスクリプト(Dプログラム)

Page 11: DTrace for biginners part(1)

しかも安全に!「事件は会議室で起きてるんじゃない!現場で起きてるんだ!」

観測はカーネルで起きててもdtrace はユーザーランドおきてます。

Page 12: DTrace for biginners part(1)

DTraceの仕組み

DTrace

dtrace(1M)

b.da.d

intrstat(1M)

lockstat(1M)

plockstat(1M)

libdtrace(3LIB)

..

.

..

.

dtrace(7D)

sysinfo vminfo fasttrap

profile fbt sdtsyscall

..

.

Dプログラムソースファイル

DTraceコンシューマ

DTraceプロバイダ

ユーザーランド

カーネル

Page 13: DTrace for biginners part(1)

でも注意も必要!システムを丸裸にしてしまうので、許された役割でのみで使用可能です。大人のツールなのです

Page 14: DTrace for biginners part(1)

DTrace でできることは?

Page 15: DTrace for biginners part(1)

計測点で、主に- のぞく/見る- 時間を計る- 回数をカウントする

Page 16: DTrace for biginners part(1)

DTraceで覚えたいことば(1)● プローブ

● システムの計測点● プロバイダ:モジュール:関数:名前 Provider : Module : Function : Name● dtrace - l で計測点が表示される

● プロバイダ● カーネルの中に実装済み● プローブ機構の提供

● オンオフの制御● システム計測方法のカテゴリに相当

Page 17: DTrace for biginners part(1)

DTraceで覚えたいことば(2)

コンシューマ● DTrace機構とやりとりするプロセス● 複数コンシューマの同時実行が可能● dtrace(1M)コマンドはコンシューマの一つ

Page 18: DTrace for biginners part(1)

プロバイダの種類(1)

● プロバイダの種類(1)● dtraceプロバイダ

● DTraceの初期化、後処理、エラー処理● profileプロバイダ

● 単位時間ごとのシステム状態の標本収集● syscallプロバイダ

● システムコールのentryとreturnを計測● sysinfoプロバイダ

● sysに分類されるカーネル統計情報の取得

Page 19: DTrace for biginners part(1)

プロバイダの種類(2)● プロバイダの種類(2)

● vminfoプロバイダ● vmに分類されるカーネル統計情報の取得

● procプロバイダ● プロセス、LWP、シグナルの計測

● schedプロバイダ● CPUスケジューリング情報の計測

● ioプロバイダ● 入出力情報の計測

Page 20: DTrace for biginners part(1)

DTrace を使うと何が便利?

Page 21: DTrace for biginners part(1)

実はDTrace を使わないとできないということはない。

Page 22: DTrace for biginners part(1)

proc tool や stat tool でだいだいのことはできる。

Page 23: DTrace for biginners part(1)

UNIX シェルプログラミングのように、知ってると何かと便利なだけ。

Page 24: DTrace for biginners part(1)

でも使い出すと依存症になることもあります。

Page 25: DTrace for biginners part(1)

さて、何から学習しましょうか?

Page 26: DTrace for biginners part(1)

この後はアドリブで、

次回につづく!