第15章 perf を使用した uprobes の作成


アッププローブ (ユーザー空間プローブ) は、実行時にユーザー空間アプリケーションに動的な計装を提供する。ソースコードの変更や再コンパイルは一切不要です。

uprobes が役立つ主なユースケースは 2 つあります。

デバッグとパフォーマンス分析
uprobes はウォッチポイントと同様に機能します。アプリケーション内の特定の場所に挿入して、そのコードパスが実行される頻度をカウントできます。さらに、コールスタックや変数値といった豊富なコンテキスト情報も取得できます。これらを使用して、パフォーマンスのボトルネックを特定したり、バグを追跡したりできます。
イベントベースのデータ収集
アッププローブは、循環バッファーなどのメカニズムにおけるスイッチングイベントとして機能する。ユーザー空間における実行トリガーに基づいて、データの記録や消去のタイミングを制御できる。

uprobesperf とシームレスに統合するため、既存の uprobes を使用することも、新しい uprobes を作成することもできます。この柔軟性により、カーネル空間の計装と並行して、ユーザー空間の動作を強力かつ非侵襲的にオブザーバビリティーおよびプロファイリングすることが可能になります (kprobes を使用)。

15.1. perf を使用して関数レベルで uprobes を作成する

perf ツールを使用すると、プロセスまたはアプリケーション内の任意の点に動的なトレースポイントを作成できます。これらのトレースポイントを perf stat または perf record と組み合わせて使用することで、プロセスやアプリケーションの動作を分析できます。

前提条件

  • perf ユーザー空間ツールがインストールされている。詳細は、perf のインストール を参照してください。

手順

  • プロセスまたはアプリケーション内の対象の場所で、監視対象のプロセスまたはアプリケーションに uprobe を作成します。

    # perf probe -x /path/to/executable -a function
    Added new event:
      probe_executable:function   (on function in /path/to/executable)
    
    You can now use it in all perf tools, such as:
        perf record -e probe_executable:function -aR sleep 1
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る