opentelemetry-go - OpenTelemetry Go API と SDK

(OpenTelemetry Go API and SDK)

Created at: 2019-05-17 03:05:26
Language: Go
License: Apache-2.0

OpenTelemetry-Go

CI codecov.io PkgGoDev 通知表に行く スラック

OpenTelemetry-Go は OpenTelemetry のGo実装です。ソフトウェアのパフォーマンスと動作を直接測定し、このデータをオブザーバビリティ プラットフォームに送信する一連の API を提供します。

プロジェクトの状況

信号 状態 計画
痕跡 安定 なし
指標 アルファ なし
ログ 冷凍 [1] なし
  • [1]: Traces と Metrics の両方を開発している間、このプロジェクトの Logs シグナルの開発は停止されます。現在、ログのプル リクエストは受け付けていません。

このリポジトリに固有の進捗状況とステータスは、ローカル プロジェクト ボードマイルストーンで追跡されます。

プロジェクトのバージョン情報と安定性の保証については、 バージョン管理のドキュメントを参照してください。

互換性

OpenTelemetry-Go は、現在サポートされている Go 言語のバージョンを追跡しようとします。go の新しいマイナー バージョン以降のリリース スケジュールは次のとおりです。

  • 最初のリリースまたは 1 か月のいずれか早い方で、新しい go バージョンのビルド手順が追加されます。
  • 3 か月後の最初のリリースでは、最も古い go バージョンのサポートが削除されます。

このプロジェクトは、次のシステムでテストされています。

OS ゴーバージョン 建築
Ubuntu 1.18 amd64
Ubuntu 1.17 amd64
Ubuntu 1.18 386
Ubuntu 1.17 386
マックOS 1.18 amd64
マックOS 1.17 amd64
ウィンドウズ 1.18 amd64
ウィンドウズ 1.17 amd64
ウィンドウズ 1.18 386
ウィンドウズ 1.17 386

このプロジェクトは他のシステムでも機能するはずですが、現在、それらのシステムに対する互換性は保証されていません。

入門

opentelemetry.ioで入門ガイドを見つけることができます。

OpenTelemetry の目標は、単一の API セットを提供して、分散されたトレースとメトリックをアプリケーションから取得し、可観測性プラットフォームに送信することです。このプロジェクトでは、Go で記述されたアプリケーションに対してそれを行うことができます。このプロセスには 2 つの手順があります。アプリケーションを計測し、エクスポーターを構成します。

計装

アプリケーションから分散トレースとメトリック イベントのキャプチャを開始するには、まずインストルメント化する必要があります。これを行う最も簡単な方法は、コードにインストルメンテーション ライブラリを使用することです。公式にサポートされている計測ライブラリを確認してください。

インストルメンテーション ライブラリが提供するテレメトリを拡張する必要がある場合、またはアプリケーション用に独自のインストルメンテーションを直接構築する必要がある場合は、 Go otel パッケージを使用する必要があります。含まれているは、このプロセスの実用的な使用法を確認する良い方法です。

書き出す

テレメトリを収集するようにアプリケーションがインストルメント化されたので、そのテレメトリをオブザーバビリティ プラットフォームに送信するためのエクスポート パイプラインが必要になります。

OpenTelemetry プロジェクトで公式にサポートされているすべてのエクスポーターは、エクスポーター ディレクトリに含まれています。

輸出業者 指標 痕跡
イェーガー
OTLP
プロメテウス
標準出力
ジップキン

貢献する

貢献ドキュメントを参照してください。