Pythonの自動計装に関する問題のトラブルシューティング
インストールに関する問題
Python パッケージのインストール失敗
Pythonパッケージのインストールには gcc
と gcc-c++
が必要で、CentOSのようなスリムバージョンのLinuxを使用している場合はインストールする必要があるかもしれません。
uv を使ったブートストラップ
uvパッケージマネージャを使用しているときに opentelemetry-bootstrap -a install
を実行すると、依存関係の設定がエラーになったり、予期しない結果になったりすることがあります。
かわりに、OpenTelemetry 要件を動的に生成し、uv
を使ってインストールできます。
まず、適切なパッケージをインストール(またはプロジェクトファイルに追加して uv sync
を実行)します。
uv pip install opentelemetry-distro opentelemetry-exporter-otlp
これで、自動計装をインストールできます。
uv run opentelemetry-bootstrap -a requirements | uv pip install --requirement -
最後に、 uv run
を使用してアプリケーションを起動します(エージェントの設定を参照してください)。
uv run opentelemetry-instrument python myapp.py
uv sync
を実行したり、既存のパッケージを更新したりするたびに、自動計装を再インストールする必要があることに注意してください。 そのため、ビルドパイプラインの一部としてインストールを行うことを推奨します。
計装の問題
リローダによる Flask デバッグモードが計装を壊す
デバッグモードは、Flaskアプリで次のように有効にできます。
if __name__ == "__main__":
app.run(port=8082, debug=True)
デバッグモードはリローダを有効にするため、計装を中断させることがあります。 デバッグモードが有効なときに計装を実行するには、 use_reloader
オプションを False
に設定します。
if __name__ == "__main__":
app.run(port=8082, debug=True, use_reloader=False)
接続性の問題
gRPCコネクティビティ
Python gRPC接続の問題をデバッグするには、以下のgRPCデバッグ環境変数を設定します。
export GRPC_VERBOSITY=debug
export GRPC_TRACE=http,call_error,connectivity_state
opentelemetry-instrument python YOUR_APP.py
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!