トレースループ計測

アプリケーション 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
 

トレースループ設定

  1. 以下のコマンドを実行して Traceloop SDK をインストールします:

    pip3 install traceloop-sdk==0.41.0
     
  2. コードの計測を開始するには、コードに次の行を追加してください:

    from traceloop.sdk import Traceloop
    Traceloop.init()
     
  3. アプリケーションをローカルで実行している場合、トレースを即時確認するためにバッチ送信を無効にできます:

    Traceloop.init(disable_batch=True)
     
  4. ワークフローに注釈を付ける:

    • 複雑なワークフローや連鎖がある場合、それらに注釈を付けることで、何が起きているのかをより深く理解できます。 ワークフローの完全なトレースは、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