トレースループ計測
アプリケーション Python からメトリクス、トレース、ログを収集するために、TraceloopはSDKまたは OpenTelemetry インストルメンテーションを使用して簡単に統合できます。 数行のコードを追加するだけで、LLMとのやり取り、API呼び出し、ワークフローのパフォーマンスに関する詳細なトレースをキャプチャするアプリケーション Python を計測できます。
仮想 Python 環境を作成する
またはそれ以降のバージョンがインストール Python3.10 されていることを確認してください。 バージョ Python ンを確認するには、次のコマンドを実行してください:
python3 -V
オプション: アプリケーション用の仮想環境を作成し、依存関係を一貫させ、他のアプリケーションとの競合を防止します。 仮想環境を作成するには、次のコマンドを実行します:
pip3 install virtualenv
virtualenv <virtual-env-name>
source <virtual-env-name>/bin/activate
トレースループ設定
以下のコマンドを実行して Traceloop SDK をインストールします:
pip3 install traceloop-sdk==0.41.0コードの計測を開始するには、コードに次の行を追加してください:
from traceloop.sdk import Traceloop Traceloop.init()アプリケーションをローカルで実行している場合、トレースを即時確認するためにバッチ送信を無効にできます:
Traceloop.init(disable_batch=True)ワークフローに注釈を付ける:
複雑なワークフローや連鎖がある場合、それらに注釈を付けることで、何が起きているのかをより深く理解できます。 ワークフローの完全なトレースは、Traceloopやその他のダッシュボードで確認できます。 同期関数には
@workflowデコレータを、非同期メソッドには@aworkflowデコレータを使用してください。 たとえば、プロンプトをレンダリングしてLLMを呼び出す関数がある場合、. を@workflow追加します。 デコレータの詳細については、 「デコレータ」 を参照してください。HaystackやLangchainなどのLLMフレームワークを使用する場合、コード LlamaIndex, にアノテーションを追加する必要はありません。
from traceloop.sdk.decorators import workflow @workflow(name="suggest_answers") def suggest_answers(question: str):
注釈の詳細については、 注釈および Traceloop ドキュメントを参照してください。
環境の構成
エージェントを使用するか、エージェントレスモードでInstanaバックエンドに直接接続することで、トレースとメトリクスをInstanaに送信する環境を設定してください。 異なる SaaS Instana環境におけるInstanaバックエンドOTLPアクセプターのドメイン名を特定するには、 InstanaバックエンドOTLPアクセプターエンドポイントを参照してください。
Instanaエージェントを使用してトレースとメトリクスをInstanaにエクスポートするには、次のコマンドを実行します:
export TRACELOOP_BASE_URL=<instana-agent-host>:4317
export OTEL_EXPORTER_OTLP_INSECURE=true
トレースとメトリクスをInstanaバックエンドに直接エクスポートするには(エージェントレスモード)、次のコマンドを実行します:
export TRACELOOP_BASE_URL=<instana-otlp-endpoint>:4317
export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<instana-host>"
export OTEL_EXPORTER_OTLP_INSECURE=false
以下の環境変数は、エージェントベースモードとエージェントレスモードの両方に適用されます:
export OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai"
export TRACELOOP_LOGGING_ENABLED=true
export TRACELOOP_METRICS_ENABLED=true