April 1, 2026 · Cloudflare
Workers - New L4 transport telemetry fields in Workers
Three new properties are now available on request.cf in Workers that expose Layer 4 transport telemetry from the client connection. These properties let your Worker make decisions based on real-time connection quality signals — such as round-trip time and data delivery rate — without requiring any client-side changes.
Previously, this telemetry was only available via the Server-Timing: cfL4 response header. These new properties surface the same data directly in the Workers runtime, so you can use it for routing, logging, or response customization.
New properties
Property Type DescriptionclientTcpRtt
number | undefined
The smoothed TCP round-trip time (RTT) between Cloudflare and the client in milliseconds. Only present for TCP connections (HTTP/1, HTTP/2). For example, 22.
clientQuicRtt
number | undefined
The smoothed QUIC round-trip time (RTT) between Cloudflare and the client in milliseconds. Only present for QUIC connections (HTTP/3). For example, 42.
edgeL4
Object | undefined
Layer 4 transport statistics. Contains deliveryRate (number) — the most recent data delivery rate estimate for the connection, in bytes per second. For example, 123456.
Example: Log connection quality metrics
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 }));
},
};
For more information, refer to Workers Runtime APIs: Request.