Cache Metrics
Cache hits can be determined via the metadata.response.headers.cf_cache_status key in our Logs Explorer. Any value that corresponds to either HIT, STALE, REVALIDATED, or UPDATING is categorized as a cache hit.
The following example query will show the top cache misses from the edge_logs:
1select2 r.path as path,3 r.search as search,4 count(id) as count5from6 edge_logs as f7 cross join unnest(f.metadata) as m8 cross join unnest(m.request) as r9 cross join unnest(m.response) as res10 cross join unnest(res.headers) as h11where12 starts_with(r.path, '/storage/v1/object')13 and r.method = 'GET'14 and h.cf_cache_status in ('MISS', 'NONE/UNKNOWN', 'EXPIRED', 'BYPASS', 'DYNAMIC')15group by path, search16order by count desc17limit 50;Try out this query in the Logs Explorer.
Your cache hit ratio over time can then be determined using the following query:
1select2 timestamp_trunc(timestamp, hour) as timestamp,3 countif(h.cf_cache_status in ('HIT', 'STALE', 'REVALIDATED', 'UPDATING')) / count(f.id) as ratio4from5 edge_logs as f6 cross join unnest(f.metadata) as m7 cross join unnest(m.request) as r8 cross join unnest(m.response) as res9 cross join unnest(res.headers) as h10where starts_with(r.path, '/storage/v1/object') and r.method = 'GET'11group by timestamp12order by timestamp desc;Try out this query in the Logs Explorer.