OSS探訪GitHubでログイン

Javaアプリへエージェントを付け、対応ライブラリの処理を自動で計測する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
2,638
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/05
ページ内ナビ

概要

OpenTelemetry Java Instrumentationは、Javaエージェントと計装ライブラリを提供します。アプリのコードを大きく変えず、対応するHTTP、DB、RPCなどの呼び出しからテレメトリを生成できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

JVM起動時に対応ライブラリを計測する

-javaエージェントで固定版JARを付け、設定プロパティや環境変数でサービス名と送信部品を選びます。コンソール送信部品ならスパンを端末で確認できます。

出典:[1]

向いている用途

既存Javaサービスへ横断的に計測を加える用途に向く

多くのフレームワークを使うアプリへ共通設定で計測を加えたい場合に向きます。

出典:[1]

導入前の確認

対応版と出力データを確認する

Java 8以上が必要です。対象ライブラリの対応範囲、エージェントの負荷、属性に含まれるURLや個人情報、既定のOTLP送信先を本番前に確認してください。

出典:[1][3]

参考にした公式資料

  1. [1]Java instrumentation README at v2.32.0(2026-10-05)
  2. [2]Java agent v2.32.0(2026-10-05)
  3. [3]Java instrumentation LICENSE at v2.32.0(2026-10-05)
  4. [4]Java instrumentation v2.32.0 release(2026-10-05)
編集部からの補足

対象アプリで自動計測されるライブラリと属性を棚卸しし、コンソール出力で内容を確認してから本番の送信先を設定してください。

3ステップで試す

  1. 1

    固定版のJava エージェントを取得する

    curlとJava 11以上を用意し、空のotel-java-demoで固定版v2.32.0のJava エージェント JARを取得します。エージェント自体の対応条件はJava 8以上です。

    mkdir otel-java-demo && cd otel-java-demo && curl -fL -o opentelemetry-javaagent.jar https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v2.32.0/opentelemetry-javaagent.jar
  2. 2

    HTTPクライアント例をコンパイルする

    example.comへHTTPS GETを1回送るjava.net.http例を作成してjavacでコンパイルします。実行時には外向きネットワーク接続が必要です。

    printf '%s\n' 'import java.net.URI;' 'import java.net.http.*;' 'public class Hello {' ' public static void main(String[] args) throws Exception {' ' var request = HttpRequest.newBuilder(URI.create("https://example.com")).build();' ' System.out.println(HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.discarding()).statusCode());' ' }' '}' > Hello.java && javac Hello.java
  3. 3

    エージェントで実行しスパン出力を確認する

    コンソール送信を指定してエージェント付きで実行し、HTTP成功の200、HTTPクライアント固有のname=GET、traceIdを別々に確認します。Collectorや常駐サーバーは起動しません。

    (set -o pipefail; java -javaagent:opentelemetry-javaagent.jar -Dotel.service.name=javaagent-demo -Dotel.traces.exporter=console -Dotel.metrics.exporter=none -Dotel.logs.exporter=none Hello 2>&1 | tee javaagent-output.txt) && grep -x '200' javaagent-output.txt && grep -F 'name=GET' javaagent-output.txt && grep -F 'traceId=' javaagent-output.txt
公式READMEで確認

成長

成長の推移 · 直近30日

2,638 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
283
Open PR
61
Issue登録
229
Issue解決
210
PR登録
936
PRマージ
784

Issues

229 / 210

7月8日10月5日
Issue登録Issue解決

Pull Requests

936 / 784

7月8日10月5日
PR登録PRマージ

メンテナンス状況

Issue初回応答中央値
6.6時間
Issue応答率
3.8% (2/52)

直近90日に外部から作成されたIssue(新しい順に最大100件)が対象です。OWNER・MEMBER・COLLABORATORによる最初のコメントを応答とし、全コメントを確認できないIssueは集計から除外します。中央値と応答率は週次更新です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
2,638
Forks
1,157
Watchers
53
Open Issues
224
Contributors
389
所有者種別
Organization
主要言語
Java
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/05

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?