Core Concepts
Reports
The time-anchored archive — finalized daily, weekly, monthly, quarterly, and yearly reports across cost, change, CO₂, and efficiency.
Finance asks for the close-of-month number. You quote a Cost Explorer view, then next week the team-attribution shifts because someone fixed a label, and now the number you quoted doesn't match. Reports exist so that doesn't happen — a finalized report for a closed period is captured once and stays put.
What a Report is
A Report is a snapshot of cost data for a closed time period, captured at finalization, available at a stable URL.
Each Report has four facets:
- Cadence —
daily,weekly,monthly,quarterly, oryearly. The window covered. - Metric —
cost,delta(change vs the prior period),co2(kg CO₂e), orefficiency(resource efficiency). - Scope —
organization(every cluster in your tenant) orcluster(one specific cluster). - Status —
finalized,preliminary,regenerating,failed, orpending.
A finalized monthly cost report for prod-east is one row in the archive; a preliminary monthly cost report for prod-east for the current month is another. They live at distinct URLs and don't overwrite each other.
Status, in plain English
finalized— the period is closed, data is locked, the number won't move. This is what you cite externally.preliminary— the period is still open. The current week's weekly report or the current month's monthly report shows preliminary numbers that will move as data lands. The view shows the same chart and table as a finalized report; the difference is the label.regenerating— Kubeadapt is recomputing this report (usually after an upstream correction). The previous version is still visible until the new one lands.failed— generation hit an error. Customer support has visibility; users see a "Report is being investigated" state.pending— the period is too new for generation to have started.
The status filter on the Reports page lets you scope the list to one of these states. The default view shows everything.
The heatmap
The Reports landing is a heatmap. Rows are cadence (daily, weekly, monthly, quarterly, yearly), columns are time. Each cell is a single report; the cell's color encodes the metric you've picked.
Cell colors for the delta metric:
- Green = cheaper than the previous period.
- Grey = within the noise band.
- Amber = somewhat more expensive.
- Red = materially more expensive.
For cost itself, the gradient is dark-to-light by spend; for efficiency, dark-to-light by ratio. The legend underneath the heatmap shows the active scale.
Click any cell to deep-link to /reports/{cadence}/{periodId}, which renders the report's full detail view — KPIs, chart, top-N table, and (where available) the regeneration history.
Regeneration
Reports are not append-only. Two things can trigger a regeneration:
- A late-arriving correction. If data for a closed day arrives after finalization (rare but possible — delayed agent delivery, cloud-price retro-correction), the affected reports get recomputed.
- A user-initiated regeneration. The Reports page admin actions allow re-running a finalized report. This is reserved for accounts with the right role.
When a report regenerates, its status flips to regenerating until the new version is written; the previous version remains queryable from the URL until that swap completes. Finalized reports keep an audit record noting which version produced the numbers in any given export.
Reporting Rules
Until Reporting Rules ships, the workflow is:
- For an internal team alert, use Smart Alerting — finer-grained, condition-driven, fires inside the period rather than at finalization.
- For an external deliverable, export the Report's PDF or CSV from the detail page and send it by hand.
How Reports differ from Dashboards
| Question | Dashboard | Report |
|---|---|---|
| Re-opens against the latest data? | Yes, every time | No — finalized numbers are captured |
| Stable for an invoice cite? | No — can shift if attribution moves | Yes — finalized is locked |
| Time window | Relative (last 7 days, MTD…) | Anchored to a real period |
| Scoped to a metric type | All metrics | One of cost / delta / co2 / efficiency |
| Multiple views per page | One query per Dashboard | One report per period |
| Scheduling-friendly | Not today | Coming via Reporting Rules |
A Dashboard is the live view; a Report is the close.
Available cadences and what they capture
- Daily — UTC day boundaries. Generated within a few hours of the day closing.
- Weekly — ISO weeks (Monday → Sunday, UTC). Finalized after the week closes.
- Monthly — calendar month, UTC. Finalized after the month closes.
- Quarterly — calendar quarter, UTC.
- Yearly — calendar year, UTC.
All periods are inclusive-start, exclusive-end. The monthly report for "May 2026" covers the window 2026-05-01T00:00:00Z (inclusive) → 2026-06-01T00:00:00Z (exclusive). The same convention runs through the entire cost engine.
Next steps
- Cost Explorer — the live query surface that feeds the same underlying numbers.
- Dashboards — the always-fresh counterpart to a finalized Report.
- Smart Alerting — for the "tell me when something happens" job Reports don't do.