Feature

CDN Provider Detection and Expanded Cache Status in Debug Overlay

TL;DR Snapshot

Stream Probe's debug overlay now automatically identifies which CDN provider is serving your video segments by parsing response headers. Two new cache statuses, STALE and BYPASS, make it easier to diagnose caching behavior without touching a log file.

Share this update

Stream Probe introduces automatic CDN provider detection and two new cache statuses (STALE and BYPASS) in this update.

TL;DR

The debug overlay now identifies which CDN is serving your video segments (Cloudflare, CloudFront, Fastly, or Akamai) by reading response headers automatically. Two new cache statuses, STALE and BYPASS, give you more granular visibility into how your CDN is handling content.

What's New

  • CDN Provider Detection: CdnHeaderParser now fingerprints the active CDN from response headers. Supported providers: Cloudflare, CloudFront (AWS), Fastly, and Akamai
  • New Cache Statuses: Added STALE and BYPASS to CacheStatus, covering cases where content was served from an expired cache entry or skipped the cache entirely
  • Updated Debug Overlay UI: The overlay displays the detected CDN provider name alongside color-coded cache status indicators for fast visual diagnosis
  • Test Coverage: Added comprehensive unit tests covering header parsing scenarios for all four CDN providers and the new cache status values

How to Use

No configuration needed. If you already have the debug overlay enabled, CDN detection and the new cache statuses appear automatically once you update.

To enable the overlay if you haven't already:

// Attach the debug overlay to your player view
streamProbe.attachDebugOverlay(to: playerView)

The overlay will now show a CDN field (e.g. Cloudflare, CloudFront) and updated cache status badges including STALE (color: yellow) and BYPASS (color: red).

FAQ

How does Stream Probe detect the CDN provider?

It reads standard and vendor-specific response headers (like cf-ray for Cloudflare or x-amz-cf-id for CloudFront) from your video segment requests. No manual configuration is required.

What does STALE mean vs BYPASS?

STALE means the CDN served content from its cache even though the cached copy was expired. BYPASS means the CDN skipped its cache entirely and fetched fresh from origin for that request.

Is this supported for both HLS and DASH streams?

Yes. CDN provider detection and cache status tracking work for both HLS and DASH manifests and their associated segment requests.

Does this affect playback performance?

No. Header parsing happens passively on existing network responses. There is no additional network overhead.