プロファイラ【profiler】
プロファイラとは?

プロファイラが収集するデータは大きく二種類ある。一つは「トレース」(trace)で、プログラムの起動から終了までに行われた関数呼び出しなどの動作を逐一記録し、時系列に並べて出力したものである。もう一つは「プロファイル」(profile)で、関数ごとの呼び出し回数や処理時間を集計し、合計や平均などの統計値としてまとめたものである。
収集対象となる情報には実行時間やCPU使用率、メモリ消費量、ストレージやネットワークへの入出力(I/O)処理の発生状況などがある。収集方式には、関数の呼び出しと返却のたびに詳細を記録するインストルメンテーション(instrumentation)方式と、一定間隔でプログラムの実行状態を記録するサンプリング(sampling)方式があり、精度とオーバーヘッドのバランスに応じて使い分けられる。
こうした情報をもとに、開発者はプログラム中で実行頻度が高い箇所や処理時間の長い箇所を特定できる。そのような箇所は「ホットスポット」(hotspot)または「ホットパス」(hot path)と呼ばれ、集中的に最適化することで性能を効率よく向上させられる。メモリリークのように解放されないまま残り続けるメモリ領域の特定にも用いられる。
近年ではクラウドサービスや分散システムの普及に伴い、複数のサーバ間での処理遅延や依存関係を追跡する分散トレーシング機能を備えたプロファイラも普及している。本番環境に常時組み込んでシステム全体の稼働状況を監視するAPM(Application Performance Management)ツールの一部として提供される事例も増えている。
(2026.6.11更新)