Refactor reports to share definitions across intervals

This commit is contained in:
Jordan Wages 2025-07-18 01:50:19 -05:00
commit 657c30b260
4 changed files with 38 additions and 18 deletions

View file

@ -48,16 +48,14 @@ def sample_reports(tmp_path):
cfg.write_text(
"""
- name: hits
interval: hourly
query: |
SELECT strftime('%Y-%m-%d %H:00:00', datetime(time)) AS bucket, COUNT(*) AS value
SELECT {bucket} AS bucket, COUNT(*) AS value
FROM logs
GROUP BY bucket
ORDER BY bucket
- name: error_rate
interval: hourly
query: |
SELECT strftime('%Y-%m-%d %H:00:00', datetime(time)) AS bucket,
SELECT {bucket} AS bucket,
SUM(CASE WHEN status >= 400 THEN 1 ELSE 0 END) * 100.0 / COUNT(*) AS value
FROM logs
GROUP BY bucket