始める前に • 参加する • 連絡を取る
貢献 • 範囲
このプロジェクトは、任意の Java 8 以降のアプリケーションに接続できる Java エージェント JAR を提供し、バイトコードを動的に挿入して、多くの一般的なライブラリやフレームワークからテレメトリをキャプチャします。テレメトリ データはさまざまな形式でエクスポートできます。コマンド ライン引数または環境変数を使用してエージェントとエクスポーターを構成することもできます。その結果、コードを変更せずに Java アプリケーションからテレメトリ データを収集できるようになります。
このリポジトリは、Java エージェントを使用するよりも使用したい場合に使用できる、いくつかのライブラリ (および増加中の) のスタンドアロン インストルメンテーションも公開しています。サポートされているライブラリのスタンドアロン ライブラリ インストルメンテーションの列を参照してください。これらの使用に関するドキュメントを探している場合。
最新バージョンをダウンロードします。
このパッケージには、インストルメンテーション エージェントに加えて、サポートされているすべてのライブラリと利用可能なすべてのデータ エクスポーターのインストルメンテーションが含まれています。このパッケージは、完全に自動化された、すぐに使用できるエクスペリエンスを提供します。
注: 2.x リリースと 1.x リリースがあります。 2.0 リリースには重大な破壊的変更が含まれており、その詳細についてはリリース ノートを参照してください。最新の機能と改善点を備えた最新の 2.x リリースを使用することをお勧めします。 1.x は期間限定でセキュリティ パッチを受け取りますが、その他のバグ修正や機能強化は含まれません。
JVM に対して-javaagent
フラグを使用してインストルメンテーション エージェントを有効にします。
java -javaagent:path/to/opentelemetry-javaagent.jar
-jar myapp.jar
デフォルトでは、OpenTelemetry Java エージェントはhttp://localhost:4318
にある OpenTelemetry コレクターにデータを送信するように構成された OTLP エクスポーターを使用します。
構成パラメータは、Java システム プロパティ ( -D
フラグ) または環境変数として渡されます。構成項目の完全なリストについては、構成ドキュメントを参照してください。例えば:
java -javaagent:path/to/opentelemetry-javaagent.jar
-Dotel.resource.attributes=service.name=your-service-name
-Dotel.traces.exporter=zipkin
-jar myapp.jar
エージェントは高度に構成可能です。エクスポータの選択、エクスポータ構成 (データの送信先など)、トレース コンテキスト伝播ヘッダーなど、エージェントの動作の多くの側面をニーズに合わせて構成できます。
エージェント構成オプションの詳細なリストについては、エージェント構成ドキュメントを参照してください。
追加の SDK 構成環境変数とシステム プロパティの詳細なリストについては、SDK 構成ドキュメントを参照してください。
注: 構成パラメータ名は時間の経過とともに変更される可能性が非常に高いため、新しいバージョンを試すときはここをもう一度確認してください。バグや予期せぬ動作を見つけた場合は報告してください。
私たちは、驚くほど膨大な数のライブラリとフレームワーク、そして最も人気のあるアプリケーション サーバーの大部分を、すぐにサポートしています。ここをクリックすると完全なリストが表示され、無効なインストルメンテーションと不要なインストルメンテーションを抑制する方法の詳細が表示されます。
拡張機能により、別のディストリビューションを作成したり、このリポジトリをフォークしたりすることなく、エージェントに新しい機能が追加されます。たとえば、カスタム サンプラーまたはスパン エクスポーターを作成し、新しいデフォルトを設定し、それをすべてエージェントに埋め込んで単一の jar ファイルを取得できます。
ほとんどのユーザーにとって、すぐに使えるインストルメンテーションで完全に十分であり、それ以上何もする必要はありません。ただし、場合によっては、ユーザーが自動スパンに属性を追加したい場合や、独自のカスタム コード用にスパンを手動で作成したい場合があります。
詳細な手順については、「手動計測」を参照してください。
トレース ID やスパン ID などのトレース情報をカスタム アプリケーション ログに挿入できます。詳細については、「ロガー MDC 自動インストルメンテーション」を参照してください。
エージェントの内部デバッグ ログを有効にするには:
-Dotel.javaagent.debug=true
注: これらのログは非常に詳細です。必要な場合にのみデバッグ ログを有効にします。デバッグ ログはアプリケーションのパフォーマンスに悪影響を与えます。
CONTRIBUTING.md を参照してください。
トリアージャー (@open-telemetry/java-instrumentation-triagers):
承認者 (@open-telemetry/java-instrumentation-approvers):
メンテナ (@open-telemetry/java-instrumentation-maintainers):
名誉メンテナー:
コミュニティ リポジトリのロールについて詳しくは、こちらをご覧ください。
すでに貢献してくれたすべての人々に感謝します!