OpenAICloudflare Developer Platform2026/04/01 0:00

Workers - New L4 transport telemetry fields in Workers

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

openaijamodel: gpt-5-mini-2025-08-07

Workers:新しい L4 トランスポート テレメトリ フィールド

Key Points

  • request.cfでL4テレメトリ利用
  • clientTcpRtt/clientQuicRtt/edgeL4追加
  • ルーティング・ログにリアルタイム信号

Summary

Cloudflare Workers の request.cf に Layer 4 トランスポートのテレメトリ情報が追加されました。これにより、クライアント接続のスムーズ化された RTT とデータ配信率(bytes/s)をランタイム内で直接参照でき、クライアント側の変更なしにルーティングやログ、レスポンスのカスタマイズに利用できます。

Key Points

  • 新プロパティは request.cf で利用可能。
  • 追加フィールド:
    • clientTcpRtt — TCP 接続(HTTP/1, HTTP/2)向けの平滑化された RTT(ミリ秒)。
    • clientQuicRtt — QUIC(HTTP/3)向けの平滑化された RTT(ミリ秒)。
    • edgeL4.deliveryRate — 接続の最新データ配信率(bytes/秒)。
  • 存在条件: 各プロパティは接続種別に依存し、該当しない場合は undefined を返す可能性あり。
  • 既存の Server-Timing: cfL4 ヘッダーで提供されていた同等のデータがランタイムで直接参照可能になった。
  • 使い方例(簡略): const rtt = request.cf.clientTcpRtt ?? request.cf.clientQuicRtt ?? 0 / const delivery = request.cf.edgeL4?.deliveryRate ?? 0

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

openaijamodel: gpt-5-mini-2025-08-07

Workers — 新しい L4 トランスポート テレメトリ フィールド

Changelog — Cloudflare の新しい更新と改善

公開日: 2026-04-01 カテゴリ: Workers

Workers — 新しい L4 トランスポート テレメトリ フィールド

Workers の request.cf に、クライアント接続からのレイヤ 4 トランスポート テレメトリを公開する新しいプロパティが 3 つ追加されました。これらのプロパティを使用すると、クライアント側の変更を必要とせずに、ラウンドトリップタイムやデータ配信速度などのリアルタイム接続品質シグナルに基づいて Worker 内で意思決定ができます。

以前は、このテレメトリは Server-Timing: cfL4 レスポンスヘッダーでのみ利用可能でした。今回の新しいプロパティは同じデータを Workers ランタイム内に直接露出するため、ルーティング、ログ記録、レスポンスのカスタマイズなどに利用できます。

新しいプロパティ

  • clientTcpRttnumber | undefined

    • Cloudflare とクライアント間の平滑化された TCP ラウンドトリップタイム (RTT) をミリ秒単位で返します。TCP 接続 (HTTP/1, HTTP/2) の場合にのみ存在します。例: 22
  • clientQuicRttnumber | undefined

    • Cloudflare とクライアント間の平滑化された QUIC ラウンドトリップタイム (RTT) をミリ秒単位で返します。QUIC 接続 (HTTP/3) の場合にのみ存在します。例: 42
  • edgeL4Object | undefined

    • レイヤ 4 トランスポートの統計情報を含むオブジェクト。deliveryRate (number) を含み、接続に対する最新のデータ配信速度の推定値をバイト/秒で示します。例: 123456

例: 接続品質メトリクスをログ出力

export default {
  async fetch ( request ) {
    const cf = request . cf ;
    const rtt = cf . clientTcpRtt ?? cf . clientQuicRtt ?? 0 ;
    const deliveryRate = cf . edgeL4 ?. deliveryRate ?? 0 ;
    const transport = cf . clientTcpRtt ? "TCP" : "QUIC" ;
    console . log ( `Transport: ${ transport } , RTT: ${ rtt } ms, Delivery rate: ${ deliveryRate } B/s` ) ;
    const headers = new Headers ( request . headers ) ;
    headers . set ( "X-Client-RTT" , String ( rtt )) ;
    headers . set ( "X-Delivery-Rate" , String ( deliveryRate )) ;
    return fetch ( new Request ( request , { headers } )) ;
  },
};

詳細

詳しくは Workers Runtime APIs: Request を参照してください。