dtrace for biginners part(1)

Post on 11-Jul-2015

2.233 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

shojih

今日の学習目標

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

DTrace とは?

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

動的って何が?

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

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

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

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

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

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

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

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プロバイダ

ユーザーランド

カーネル

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

DTrace でできることは?

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

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

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

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

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

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

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

プロバイダの種類(1)

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

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

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

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

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

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

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

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

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

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

DTrace を使うと何が便利?

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

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

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

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

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

この後はアドリブで、

次回につづく!

       

top related