Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
B.2. トレースポイント
トレースポイントは
/sys/kernel/debug/tracing/
ディレクトリーにあります (debugfs
が標準の場所である /sys/kernel/debug
ディレクトリーにマウントされていることを前提)。events
サブディレクトリーには、指定可能なすべてのトレーシングイベントが格納されます。また、gfs2
モジュールがロードされている場合は、gfs2
サブディレクトリーに、下位サブディレクトリーが GFS2 イベントごとに 1 つずつ格納されます。多くの場合、/sys/kernel/debug/tracing/events/gfs2
の内容は以下のようになります。
[root@chywoon gfs2]# ls
enable gfs2_bmap gfs2_glock_queue gfs2_log_flush
filter gfs2_demote_rq gfs2_glock_state_change gfs2_pin
gfs2_block_alloc gfs2_glock_put gfs2_log_blocks gfs2_promote
GFS2 トレースポイントをすべて有効にするには、以下のコマンドを実行します。
[root@chywoon gfs2]# echo -n 1 >/sys/kernel/debug/tracing/events/gfs2/enable
特定のトレースポイントを有効化するために、各イベントサブディレクトリーに
enable
ファイルがあります。また、各イベントまたはイベントセットを対象にイベントフィルターを設定するのに使用できる filter
ファイルの場合も同じです。各イベントの意味については、下記に詳しく説明しています。
トレースポイントからの出力は、ASCII またはバイナリー形式で提供されます。本付録では、現時点でバイナリーインターフェースについて説明しません。ASCII インターフェースは 2 つの方法で利用することができます。以下のコマンドを実行すると、現在のリングバッファーの内容を一覧表示することができます。
[root@chywoon gfs2]# cat /sys/kernel/debug/tracing/trace
このインターフェースは、ある一定の期間に長時間実行されるプロセスを使用する場合や、何らかのイベントの後にバッファー内にキャプチャーされている最新の情報を確認したい場合に役立ちます。もう 1 つのインターフェースは
/sys/kernel/debug/tracing/trace_pipe
であり、すべての出力が必要な場合に使用することができます。イベントは、発生するときにこのファイルから読み取られます。このインターフェースでは履歴情報は提供されません。出力の形式は両インターフェースとも同じであり、 本付録の後半で GFS2 イベント別に説明しています。
トレースポイントのデータの読み取りには、
trace-cmd
と呼ばれるユーティリティを利用することができます。このユーティリティについての更なる詳しい情報は、「リファレンス」 に記載のリンクを参照してください。trace-cmd
ユーティリティは strace
ユーティリティと同様に使用することができ、様々なソースからトレースデータを収集している間にコマンドを実行することが可能です。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。