Pinpointで分散トランザクションの経路を追う
APM、大規模分散システム用の (アプリケーション パフォーマンス管理) ツール。
ひと目でわかる
- これは何?
- Javaを中心にPHPとPythonにも対応するAPMについて、トポロジー表示、コードレベルの追跡、プラグイン互換性、導入条件を整理します。
- 誰に向いている?
- 向いているのは、複数サービスをまたぐJava系アプリケーションで、リクエストの経路とコードレベルの遅延を同じ画面で調べたいチームです。プラグインの対応版とコレクターの互換性を管理できない環境には導入しにくいでしょう。
- 商用利用できる?
- できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。直近 1 日以内に新しいコミットがあります。
- 何の言語で書かれている?
- 主に Java です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
Dapperに着想を得たAPMの位置
Pinpointは大規模な分散システム向けのApplication Performance Managementツールです。READMEは、分散アプリケーション間のトランザクションを追跡し、システム全体の構造とコンポーネント間の接続を分析すると説明しています。Javaで書かれ、PHPとPythonのアプリケーションは別のエージェントリポジトリで対応します。GoogleのDapper論文に着想を得た設計です。
READMEは、アプリケーションのトポロジーを把握し、リアルタイムに監視し、各トランザクションをコードレベルで見る用途を挙げています。エージェントをコード変更なしで導入でき、リソース使用量の増加は約3%という記述もありますが、これはプロジェクト側の主張です。自分のサービス構成と負荷で検証してから運用値として扱います。
ServerMapからCallStackまでの観測面
ServerMapは分散システムのコンポーネント間接続を可視化し、ノードの状態やトランザクション数を表示します。リアルタイムアクティブスレッドチャートではアプリケーション内のスレッドを追跡でき、リクエストとレスポンスの散布図では時間ごとの件数と応答パターンを見ます。グラフ上をドラッグしてトランザクションを選択する操作もREADMEにあります。
CallStackは個々の処理のコードレベルの経路を表示し、InspectorはCPU、メモリ、GC、TPS、JVM引数を示します。URIメトリクス、インフラストラクチャ、エラー分析も項目として案内されています。障害調査では、まずServerMapで影響範囲を絞り、散布図から対象時間を選び、CallStackとInspectorで遅延箇所を確認する順が資料の機能構成に沿います。
エージェントプラグインの広い対応表
対応一覧にはJDK 8以上、Tomcat、Jetty、JBoss EAP、Websphere、Vertx、Weblogic、Undertow、Akka HTTPが含まれます。Spring、Spring Boot、Spring WebFlux、Ktorなどのフレームワーク、Apache HttpClient、JDK HttpClient、OkHttpClient、NettyなどのHTTPクライアントも対象です。Thrift、DUBBO、GRPC、Apache CXF、ActiveMQ、RabbitMQ、Kafka、RocketMQ、Pulsarなども列挙されています。
データストア側はMySQL、Oracle、MSSQL、PostgreSQL、MariaDB、ClickHouseなど、キャッシュや検索ではRedis、Cassandra、MongoDB、HBase、Elasticsearchなどが案内されています。正確な対応版はREADMEの一覧ではなく`agent-module/plugins`にあります。名前が一致するだけで連携できると考えず、対象フレームワークの版とエージェントのプラグインを照合します。
Java、HBase、Pinotの版をそろえる
互換性表では、Pinpoint 3.1.xのエージェントはJava 8から25、コレクター、Web UI、バッチはJava 17を必要とします。過去の2.0.xではエージェントがJava 6から13、その他がJava 8という違いがあります。HBaseは3.0.xと3.1.xで2.xが必要で、2.x系の対応は別の条件です。
Pinotも版によって可否が分かれ、3.1.xは1.3.0をサポートし、0.11.0、0.12.0、1.0.0、1.2.0は対象外と表に記載されています。エージェントとコレクターの通信互換性表もあります。導入時はJava、ストレージ、エージェント、コレクターの4つを同時に記録し、まず一つのサービスでトレースがServerMapに出ることを確認します。
GitBookのクイックスタートとKubernetes
READMEはコマンドを並べた手順ではなく、GitBookのクイックスタートとインストールガイドへ誘導しています。Kubernetesへ配置する場合は`pinpoint-kubernetes`リポジトリが別にあります。ライブデモではSpring BootのApiGatewayを含む画面を確認できますが、これは自分のサービスを監視した結果ではありません。
現在の安定版としてREADMEが示すのはv3.1.0で、リリース日は2026年5月21日です。環境を作る前に、採用するPinpoint版とエージェント版、Javaの実行版、コレクターの保存先を決めます。外部公開されたデモURLを運用監視の根拠にせず、検証環境でトレースの欠落、サンプリング、エラー表示を確認するのが具体的な入口です。
Apache 2.0と未記載の運用保証
PinpointはApache License 2.0です。複製、派生物の作成、公開表示、実演、サブライセンス、頒布を許す著作権ライセンスと特許ライセンスを含みますが、ソフトウェアはAS ISで提供され、保証や商用サポートの記載はありません。
READMEにはGitHub issue、Gitter、各種コミュニティへの入口とリリース履歴があります。これらは相談と更新の窓口であって、本番性能の保証ではありません。採用記録には、監視対象のJava版、エージェントのプラグイン一覧、コレクターとの互換性、トレースが欠落した時の調査手順を残し、READMEの約3%という自報値を自環境の測定値と混同しないことが必要です。
Spring Boot一つで最初の経路を確かめる
検証はSpring Bootの小さなサービスを一つ選び、Pinpoint v3.1.0のクイックスタートに沿ってエージェントとコレクターを接続します。HTTPリクエストを一度通し、ServerMapにApiGateway相当のノードが現れるか、CallStackにコントローラーから外部呼び出しまでの経路が出るかを確認します。
同じ負荷でInspectorのCPU、メモリ、GC、TPSを接続前後に比較し、READMEの約3%という自報値とは別に自環境の数値を保存します。Java 17のコレクターと、対象アプリのJava 8以上のエージェントを分けて記録し、プラグインの版を`agent-module/plugins`で照合します。
編集部の結論
向いているのは、複数サービスをまたぐJava系アプリケーションで、リクエストの経路とコードレベルの遅延を同じ画面で調べたいチームです。プラグインの対応版とコレクターの互換性を管理できない環境には導入しにくいでしょう。最初にクイックスタートで単一の検証サービスを接続し、ServerMap、CallStack、エージェント負荷を実測してください。
コミュニティノート