Vercel Daemons、トレースをVercel Tracingへ直接送信可能に

Published · AI Daily — AI-assisted deep research, methodology & disclosure

DaemonsはVercel Tracingへトレース送信可能。デフォルト設定のNode.js daemonで@vercel/otel 2.3.0以上を用い、worker初期化前にregisterOTelを呼ぶと、記録済みspanを自動出力します。

概要

2026年11月13日、Vercelは変更履歴で、Vercel DaemonsがOpenTelemetryのトレースをVercel Tracingに直接送れるようになったと発表しました。Vercelの説明では、これによりバックグラウンドワーカーの動作を、プロジェクトの他のトレースと並べて、開発者もエージェントも確認できます。執筆者はVercelのインフラ担当ソフトウェアエンジニアのGal Schlezingerで、読了時間は1分と表示されています。短い発表ですが、内容は具体的です。

具体的な手順

発表で示された仕組みは3段階です。第1に、Vercelは各daemonにUnixソケットを提供します。このソケットはOTLP/HTTP形式のトレースを受け取り、そのパスは環境変数VERCEL_OTEL_SOCKET_PATHに設定されます。第2に、@vercel/otelをバージョン2.3.0以降に上げます。デフォルト設定のNode.js daemonでは、トレースが自動でエクスポートされます。SDKがこのソケットを検出し、ワーカーが記録したspanをVercelに送ります。第3に、ワーカーの起動前にOpenTelemetryを初期化します。公式の例はworker.tsの2行で、registerOTelをインポートし、serviceNameに'my-daemon'を指定して呼び出します。サービス名は自分で決めます。

データの見方

これらのspanはVercel CLIで取得できます。発表のコマンドはvercel traces searchで、--projectでプロジェクト、--serviceでサービス名を指定し、--jsonでJSON出力にします。Vercelの説明は、プロジェクト内でサービス名により検索でき、エージェント向けにJSONを返せるというものです。例の説明文は、直近1時間のdaemonのspanを検索するとしています。末尾にはdaemonトレースのドキュメントへのリンクがあり、これ以上の詳細はドキュメントが基準になります。

注目する理由

ここは発表の本文ではなく、私たちの読み方です。バックグラウンドワーカーには、ページリクエストのような明確な入口がありません。不具合が出たとき、開発者が読めるのはログだけということも多いでしょう。トレースは1つの処理を時間付きのspanに分けるので、どの段階で時間がかかったかが分かります。今回の変更の実用的な価値は、daemonのspanがプロジェクトの他のトレースと同じ場所に並ぶ点です。別の収集経路を組む必要はなく、送信先を自分で決める必要もありません。パスはプラットフォームが環境変数で渡し、SDKが自動で見つけるからです。spanはマシン上のUnixソケットを通じてVercel Tracingサービスへ送られるので、daemon用に外部の収集先アドレスを設定する必要もありません。この点は発表では触れられておらず、一般的な補足にとどめます。

もう1点は、エージェントとの相性です。CLIがエージェント向けにJSONを返せると明記されています。コーディングエージェントや運用エージェントに、直近1時間のdaemonのspanを調べさせる使い方は、Vercel自身が想定しているものです。プラットフォームが可観測性データを自動化ツールに開く近年の流れとも一致します。

注意すべき範囲

発表が明言しているのは、デフォルト設定のNode.js daemonでトレースが自動エクスポートされること、そして@vercel/otelが2.3.0以上であることだけです。他のランタイム、カスタム設定、サンプリング、保持期間、料金については書かれておらず、推測はしません。必要なときはドキュメントを確認してください。すべてのプランで使えるのか、daemon自体にバージョン要件があるのかも書かれていないため、利用前に確認が必要です。例では、ワーカーの起動前にOpenTelemetryを初期化するよう強調されています。それより早い処理は記録されない可能性があるというのは順序からの一般的な推測で、発表は結果までは書いていません。

まとめ

小さいが実用的な更新です。デフォルト設定でプラットフォームがUnixソケットを提供するNode.js daemonでは、@vercel/otelを2.3.0以降に上げ、ワーカー起動前にregisterOTelを呼ぶと、daemonのspanがVercel Tracingに現れ、vercel traces searchでJSONとして取り出せます。すでにVercel Daemonsでバックグラウンド処理を動かしているチームには変更コストが低く、試す価値があります。

Sources

FAQ

Vercel Daemonsで新しくできるようになったことは何ですか?

DaemonsがOpenTelemetryのトレースをVercel Tracingへ直接送れるようになりました。開発者もエージェントも、バックグラウンドワーカーの動作をプロジェクトの他のトレースと並べて確認でき、別の収集経路を用意する必要がありません。

Node.js daemonでトレースを自動エクスポートするには何をしますか?

@vercel/otelをバージョン2.3.0以降に上げ、デフォルト設定のまま、ワーカー起動前にregisterOTelで初期化します。VercelがUnixソケットを提供し、そのパスは環境変数VERCEL_OTEL_SOCKET_PATHに入り、SDKが自動で検出します。

daemonが送ったトレースはどう確認しますか?

Vercel CLIのvercel traces searchコマンドを使い、--projectでプロジェクト、--serviceでサービス名を指定し、--jsonでJSON出力にします。プロジェクト内でサービス名により検索でき、エージェントも結果をそのまま読めます。