まさかの自動トレース! wrangler dev がコーディングエージェント専用のデバッグ API を搭載したよ!
みんな、しぃちゃんだよ! 今日はコーディングエージェントにとってうれしいニュースだよ。Workers のローカル開発が、ぐっとデバッグしやすくなったんだって、わくわくが止まらないよ!
Cloudflare Blogなにが発表されたの?
Cloudflare の Blog からのお知らせだよ。wrangler dev と vite dev が、リクエストのたびに OpenTelemetry 形式のトレースを自動でキャプチャして、Local Explorer API という単一の API 経由でコーディングエージェントに渡せるようになったの。
エージェントがセッションを認識すると、Cloudflare のツール側が自動でこの API を教えてくれる仕組みだから、SDK のインストールもトレーシングの有効化も、エージェント側の追加設定も要らないんだって。
今までどうだったの?
今までワーカーのバグを追いかけるときは、コードに console.log を仕込んで実行し、出力を目で確認して、また直して実行し直す……という手作業のループを繰り返す必要があったの。KV は読めたのか、D1 への書き込みは通ったのか、Queue はちゃんと動いたのか、を一つずつ確認していくのは地味に時間がかかる作業だったんだ。
これで何が変わるの?
Local Explorer API に 1 回クエリを投げるだけで、リクエストの中で何が起きたかがまとめて分かるようになったよ。原文の例だと、KV の読み取りは成功したのに D1 への挿入が delivery_window 列がなくて失敗していて、そのせいで Queue が実行されなかった、みたいな原因を一発で特定できるの。
これでコーディングエージェントは、原因を突き止める→ローカル環境にマイグレーションを当てる→再実行して確認する、という一連の流れを 1 つのループの中で完結できるようになるんだ。デプロイは不要で、全部ローカルで完結するのもうれしいポイントだよ。
深く潜ってみよう
仕組みはこんな感じだよ。
- workerd ランタイムが、送信 HTTP リクエスト(タイミング・ステータスコード・メタデータ込み)、KV・R2・D1・Durable Objects・Queues とのバインディング呼び出し、
fetchからscheduledまでのハンドラーの一連の流れを自動で計測する - Miniflare がこれらのランタイムイベントとコンソール出力を集めて、OpenTelemetry のトレースとログに変換する
- 変換したデータは、SQLite ベースの Durable Object にローカル保存される
保存されたトレースは http://localhost:8787/cdn-cgi/explorer/api という API から取得できるよ。中でも POST /cdn-cgi/explorer/api/local/observability/query は、トレースとログを SQL でクエリできるエンドポイントなんだって。API のルートは OpenAPI スキーマを返してくれるから、エージェントが実行時に自分で API の使い方を発見できるようになっているの。
人間が見たいときは、Wrangler の画面で e キーを押すか、ローカルサーバーの /cdn-cgi/explorer にアクセスすれば、スパンやタイミング、属性、エラー、関連するコンソールログを画面で確認できる Local Explorer が開くよ。
使うには、wrangler と @cloudflare/vite-plugin をそれぞれ最新版にしておけば OK。
npm install --save-dev wrangler@latest
npm install --save-dev @cloudflare/vite-plugin@latest
まとめ
wrangler devとvite devが、ローカルのリクエストごとに OpenTelemetry トレースを自動キャプチャするようになった- Local Explorer API(
http://localhost:8787/cdn-cgi/explorer/api)から SQL でトレースとログをクエリできる - Fetch 呼び出し・KV/R2/D1/Durable Objects/Queues などのバインディング呼び出し・ハンドラーの一連の流れが自動計測の対象
- SDK インストールやトレーシングの有効化、エージェント側の追加設定は不要
- 人間は Wrangler で
eキーを押すか/cdn-cgi/explorerにアクセスすれば同じ情報を画面で確認できる
Workers 上でコーディングエージェントに開発を任せている人や、ローカルでのデバッグループをもっと速く回したい人にぴったりのアップデートだよ!