id: 8c6cde36-aac5-4cf1-96fb-f1a1a0545683

BigQuery SQL with dates as ( select (case when @interval = 'hourly' then timestamp_sub(current_timestamp(), interval 1 hour) when @interval = 'daily' then timestamp_sub(current_timestamp(), interval 7 day) when @interval = 'minutely' then timestamp_sub(current_timestamp(), interval 60 minute) end) as start ), chart_counts as ( select (case when @interval = 'hourly' then timestamp_trunc(f0.timestamp, hour) when @interval = 'daily' then timestamp_trunc(f0.timestamp, day) when @interval = 'minutely' then timestamp_trunc(f0.timestamp, minute) end ) as timestamp, COUNTIF(REGEXP_CONTAINS(f2.path, '/rest')) as total_rest_requests, COUNTIF(REGEXP_CONTAINS(f2.path, '/storage')) as total_storage_requests, COUNTIF(REGEXP_CONTAINS(f2.path, '/auth')) as total_auth_requests, COUNTIF(REGEXP_CONTAINS(f2.path, '/realtime')) as total_realtime_requests, FROM dates, `cloudflare.logs.prod` as f0 LEFT JOIN UNNEST(metadata) AS f1 ON TRUE LEFT JOIN UNNEST(f1.request) AS f2 ON TRUE where REGEXP_CONTAINS(f2.url, @project) AND f0.timestamp >= dates[0] -- project = @project GROUP BY timestamp ) SELECT datetime(chart_counts.timestamp, 'UTC') as timestamp, COALESCE(SUM(chart_counts.total_rest_requests), 0) as total_rest_requests, COALESCE(SUM(chart_counts.total_storage_requests), 0) as total_storage_requests, COALESCE(SUM(chart_counts.total_auth_requests), 0) as total_auth_requests, COALESCE(SUM(chart_counts.total_realtime_requests), 0) as total_realtime_requests, FROM chart_counts GROUP BY timestamp ORDER BY timestamp asc;
  • max rows: 1000
  • caching: 900 seconds
  • cache warming: 300 seconds
  • query sandboxing: disabled

WITH dates AS (SELECT (CASE WHEN @interval = 'hourly' THEN timestamp_sub(current_timestamp(), INTERVAL 1 HOUR) WHEN @interval = 'daily' THEN timestamp_sub(current_timestamp(), INTERVAL 7 DAY) WHEN @interval = 'minutely' THEN timestamp_sub(current_timestamp(), INTERVAL 60 MINUTE) END) AS start), chart_counts AS (SELECT (CASE WHEN @interval = 'hourly' THEN timestamp_trunc(f0.timestamp, hour) WHEN @interval = 'daily' THEN timestamp_trunc(f0.timestamp, day) WHEN @interval = 'minutely' THEN timestamp_trunc(f0.timestamp, minute) END) AS timestamp, COUNTIF(REGEXP_CONTAINS(f2.path, '/rest')) AS total_rest_requests, COUNTIF(REGEXP_CONTAINS(f2.path, '/storage')) AS total_storage_requests, COUNTIF(REGEXP_CONTAINS(f2.path, '/auth')) AS total_auth_requests, COUNTIF(REGEXP_CONTAINS(f2.path, '/realtime')) AS total_realtime_requests FROM dates, `cloudflare.logs.prod` AS f0 LEFT JOIN UNNEST(metadata) AS f1 ON true LEFT JOIN UNNEST(f1.request) AS f2 ON true WHERE REGEXP_CONTAINS(f2.url, @project) AND f0.timestamp >= dates[0] GROUP BY timestamp) SELECT datetime(chart_counts.timestamp, 'UTC') AS timestamp, COALESCE(SUM(chart_counts.total_rest_requests), 0) AS total_rest_requests, COALESCE(SUM(chart_counts.total_storage_requests), 0) AS total_storage_requests, COALESCE(SUM(chart_counts.total_auth_requests), 0) AS total_auth_requests, COALESCE(SUM(chart_counts.total_realtime_requests), 0) AS total_realtime_requests FROM chart_counts GROUP BY timestamp ORDER BY timestamp ASC

Call your endpoint

# By UUID curl "https://api.logflare.app/api/endpoints/query/8c6cde36-aac5-4cf1-96fb-f1a1a0545683" \ -H 'X-API-KEY: YOUR-ACCESS-TOKEN' \ -H 'Content-Type: application/json; charset=utf-8' \ -G -d "project=VALUE" -d "interval=VALUE" # By name curl "https://api.logflare.app/api/endpoints/query/usage.api-counts" \ -H 'X-API-KEY: YOUR-ACCESS-TOKEN' \ -H 'Content-Type: application/json; charset=utf-8' \ -G -d "project=VALUE" -d "interval=VALUE"