If you run Power BI Premium or Microsoft Fabric capacities, the Microsoft Fabric Capacity Metrics app is where you look when things slow down. It is genuinely good at what it does — near-real-time, timepoint-level compute-unit (CU) detail per item and operation. It has one structural limitation: it only retains about 14 days of data.
Why 14 days is not enough
- Incident forensics: "why were we throttled during month-end close?" is usually asked well after the window has rolled off.
- Capacity planning: SKU sizing decisions need months of trend, not a fortnight.
- Chargeback: attributing capacity cost to teams requires per-item consumption over full billing periods.
- Optimization proof: you cannot show that rescheduling refreshes helped if the "before" data no longer exists.
The DIY route: exporting the metrics dataset
The metrics app is backed by a semantic model, and admins can query it — connect with the XMLA endpoint or Analyze in Excel, run DAX against tables like the timepoint detail, and schedule an export into your own database before the window rolls off.
What a long-term capacity store should hold
- Timepoint-level CU consumption per item (report, semantic model, dataflow, notebook, lakehouse) and operation, flagged interactive vs background.
- Utilization as a percentage of the SKU limit, so peaks and throttling windows are visible months later.
- Enough joinability to answer "which workspace / which team" — inventory context, not just raw numbers.
The continuous approach
PGR Sonar reads Fabric capacity metrics on schedule and stores them as long-term, queryable history tied to your tenant inventory — so throttling investigations, trend planning and heaviest-item rankings work over months, not 14 days. Capacity Diagnostics goes one step further and tells you what to do: which datasets, dataflows or notebooks to reschedule or optimize to stop overloading the capacity.