Files
Jordi Enric 7d3e8fa5a3 feat(studio): migrate Storage report to OTEL (#50519)
## Problem

The Storage observability report still sends legacy BigQuery SQL to the
`logs.all` analytics endpoint, so it cannot use the ClickHouse-backed
OTEL logs path.

## Fix

Add ClickHouse query variants for the API and cache metrics used by the
Storage report, and switch SQL plus endpoint together behind
`otelReports`. Keep legacy behavior when the flag is disabled and
prevent requests until feature flags have resolved on platform.

Tested by checking the preview AND running all queries in log explorer
one by one ✅

## How to test

- Run `CI=1 pnpm --filter studio exec vitest run
components/interfaces/Reports/Reports.constants.otel.test.ts
data/reports/storage-report-query.test.tsx`
- Enable `otelReports`, open Project > Observability > Storage, and
verify all charts load.
- Expected result: Storage analytics requests use `logs.all.otel` with
ClickHouse SQL; no legacy request is sent during flag hydration.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Reports now support OpenTelemetry-based querying for API and storage
metrics.
* Report filters provide safer numeric comparisons and improved route,
status, timing, traffic, and cache metrics.

* **Bug Fixes**
* Reports now wait for reporting configuration and the project reference
to be ready before querying.
* Invalid numeric filters are safely ignored, and cache-status
calculations are more reliable.

* **Tests**
* Added coverage for OpenTelemetry report queries, filtering,
aggregations, caching, and project readiness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-09-21 16:45:34 +02:00
..
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-08-13 09:48:13 +02:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00
2026-09-11 12:17:49 +08:00