ツール呼び出しを端から端まで追跡する
スタック全体にわたって1つのリクエストを追跡します。
「ツール呼び出しを端から端まで追跡する」はCoddyKit上の無料MCP Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMCP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MCP Academyコースには全4レッスンが含まれています。
1回の呼び出しを追跡する
1回のツール呼び出しが、サーバー、データベース、APIにまたがることがあります。トレーシングを使うと、それらの処理を1つのタイムラインにまとめ、全体の流れを確認できます。🧵
トレースとスパン
トレースはリクエスト全体を表し、スパンはその中の1つの処理を表します。各スパンには名前、開始時刻、所要時間が記録され、スパンはツリー状に入れ子になります。
Trace ID
1つのリクエストに含まれるすべてのスパンは、同じtrace IDを共有します。この共有IDによって、ツールはどの処理が同じリクエストに属するのかを正確に再構成できます。
親スパンと子スパン
スパンはparent IDで関連付けられます。ツール呼び出しが親となり、データベースクエリとAPI呼び出しが子となって、タイムラインのツリーを形成します。
OpenTelemetry
Pythonでこの用途に使われる標準がOpenTelemetryです。トレース、スパン、コンテキストを定義しているため、特定の1つだけでなく、さまざまなバックエンドでデータを利用できます。
スパンを開始する
コンテキストマネージャーを使って処理をスパンで囲みます。その中のすべての処理が計測され、現在のトレースの下に自動的にネストされます。
from opentelemetry import trace
tracer = trace.get_tracer("mcp")
with tracer.start_as_current_span("search_tool"):
run_search()属性を追加する
ツール名や結果件数など、小さなキーと値の情報である属性をスパンに付加します。後からトレースを確認するときに、内容が格段に分かりやすくなります。
span = trace.get_current_span()
span.set_attribute("tool.name", "search")
span.set_attribute("result.count", 3)スパンでエラーを検出する
処理が失敗したら、そのスパンにerror statusを設定します。トレースを見ることで、単に失敗したことだけでなく、どの処理でリクエストが壊れたのかを正確に確認できます。
コンテキストの伝播
ネットワーク呼び出しを追跡するには、ヘッダーでトレースコンテキストを渡します。この伝播によって、リモート側の処理も同じトレースに含められます。
ログをトレースに関連付ける
構造化ログにもtrace IDを記録します。これでログ行と完全なトレースを相互にたどれるようになり、デバッグが大幅に速くなります。
トレースをエクスポートする
スパンは、通常OTLPプロトコルを介してexporterからバックエンドへ送信されます。バックエンドは、クリックして確認できるタイムラインを描画します。
クイックチェック
トレースの構造を確認しましょう。
まとめ
1つのtrace IDの下にあるスパンを使い、属性、error status、直接関連付けられたログを加えて、呼び出し全体を追跡できるようになりました。🗺️
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「ツール呼び出しを端から端まで追跡する」レッスンは無料ですか?
はい。「ツール呼び出しを端から端まで追跡する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MCP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MCP Academyコースには全4レッスンが含まれています。
「ツール呼び出しを端から端まで追跡する」で何を学びますか?
スタック全体にわたって1つのリクエストを追跡します。 ブラウザで直接実行するハンズオンコードでMCP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MCP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMCP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ツール呼び出しを端から端まで追跡する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMCP Academyレッスンでコードを書いて実行できますか?
はい。すべてのMCP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- サーバーで測定するもの
- 検索できる構造化ログ
- ツール呼び出しを端から端まで追跡する
- 障害と不正利用をアラートする