Pythonゼロコード・計装

Pythonによる自動計装は、任意のPythonアプリケーションにアタッチ可能なPythonエージェントを使用します。 このエージェントは、主にモンキーパッチを使用して、実行時にライブラリ関数を変更し、多くの一般的なライブラリとフレームワークからのテレメトリーデータのキャプチャを可能にします。

セットアップ

以下のコマンドを実行して、適切なパッケージをインストールします。

pip install opentelemetry-distro opentelemetry-exporter-otlp
opentelemetry-bootstrap -a install

opentelemetry-distro パッケージは API、SDK、opentelemetry-bootstrapopentelemetry-instrument ツールをインストールします。

opentelemetry-bootstrap -a install コマンドは、アクティブな site-packages フォルダにインストールされているパッケージのリストを読み込んで、該当するパッケージがあれば、対応する計装ライブラリをインストールします。 たとえば、既に flask パッケージをインストールしている場合、 opentelemetry-bootstrap -a install を実行すると、かわりに opentelemetry-instrumentation-flask がインストールされます。 OpenTelemetry Python エージェントはモンキーパッチを使って、実行時にこれらのライブラリの関数を変更します。

引数なしで opentelemetry-bootstrap を実行すると、インストールされる推奨計装ライブラリが一覧表示されます。 詳細については、opentelemetry-bootstrap を参照してください。

エージェントの設定

エージェントは高度に設定可能です。

選択肢の1つめは、CLIから設定プロパティによってエージェントを設定することです。

opentelemetry-instrument \
    --traces_exporter console,otlp \
    --metrics_exporter console \
    --service_name your-service-name \
    --exporter_otlp_endpoint 0.0.0.0:4317 \
    python myapp.py

あるいは、環境変数を使ってエージェントを設定することも可能です。

OTEL_SERVICE_NAME=your-service-name \
OTEL_TRACES_EXPORTER=console,otlp \
OTEL_METRICS_EXPORTER=console \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=0.0.0.0:4317
opentelemetry-instrument \
    python myapp.py

設定オプションの全範囲を見るには、エージェント設定を参照してください。

サポートされるライブラリとフレームワーク

FlaskDjango など、人気のある Python ライブラリの多くが自動計装に対応しています。 全リストは レジストリ を参照してください。

トラブルシューティング

一般的なトラブルシューティングの手順と特定の問題に対する解決策については、トラブルシューティング を参照してください。