Microsoft Fabric · Capacity administration

Microsoft Fabric Capacity Metrics App: Install, Read, and Troubleshoot

A working guide for capacity admins. Install the app, pick the right report, read smoothed and unsmoothed CU usage, trace throttling back to a workspace and an operation, and decide what to fix.

Install and first runCU usageThrottlingPreview report
Two reports, one app. Since version 3.0 the app holds two reports. The established Microsoft Fabric Capacity Metrics report is generally available and opens by default. The redesigned Fabric Capacity Metrics Preview report is in preview and sits next to it. Pages and labels in the two reports differ, so write down which one you used when you record an incident.

The Capacity Metrics app answers a short list of questions that come up whenever a capacity gets busy:

  • Which capacity is under pressure, and during which hours?
  • Which workspace, item type, or single item used the most capacity units?
  • Was it a refresh, a Spark job, a pipeline, a warehouse query, or people using reports?
  • Is the capacity throttling, or is it just bursting and smoothing as designed?
  • Can you trace an item down to the operation, its status, its duration, the user, and the operation ID?

This guide follows that order. It covers both reports, gives you a repeatable way to investigate, and says what to do once you find the cause.

1. What the app does

A Fabric capacity is a pool of compute measured in capacity units (CUs). Workspaces assigned to the capacity draw from that pool. The Capacity Metrics app reports how the pool is used over time, by workload, workspace, item, and operation. It supports EM/A and P SKUs as well as Fabric SKUs.

It is a monitoring and investigation tool. It is not an invoice, a request tracer, or an alerting system. What it does well is connect a capacity-level problem to the items behind it.

Where the app fits
Fabric capacityWorkspaces assigned to F, P, or EM/A capacity
Usage dataCU use, operation type, duration, status, storage
Metrics appHealth, compute, storage, item detail
Your fixTune the workload, move the schedule, split capacities, or resize
Good for

Finding the busy capacity

See which capacity is under pressure and when.

Good for

Finding the cause

Follow CU use down to workspace, item, operation, and user.

Not for

Alerts

The app sends no notifications. Use Fabric capacity events for that.

Not for

Billing records

Treat utilisation as an engineering signal. Check charges in your billing source.

2. Default report and preview report

Advertisements

After you install or upgrade to version 3.0, the navigation pane lists both reports. The default report stays the default, and you can switch to the preview report from the navigation pane at any time.

Generally availableMicrosoft Fabric Capacity MetricsHealth, Compute, Storage, Timepoint, Timepoint summary, Timepoint item detail, On-demand Compute for Spark, Plan capacity, Monitor paused capacity, and Calculations.
PreviewFabric Capacity Metrics PreviewHealth, Compute, Workspace Detail, Storage, On-demand Compute for Spark, and Help. Item details opens by drilling through from Compute or Workspace Detail.

Microsoft’s pages use two names for the Spark page: older ones say “Autoscale compute for Spark” and newer ones say “On-demand Compute for Spark”. They are the same page for capacities that bill Spark on demand. If you search the docs, try both.

QuestionDefault reportPreview report
Which one opens first?This one.It has to be chosen from the navigation pane.
Capacity healthEstablished Health page.Redesigned Health page with Latest, Last 1 hour, Last 24 hours, and Last 14 days views.
ComputeEstablished Compute page with a 14-day view, plus Timepoint pages.Smoothed and unsmoothed views, health heat map, throttling charts, and impacted items.
One 30-second timepointTimepoint, Timepoint summary, and Timepoint item detail pages.No separate Timepoint pages. Use the Compute heat map and the Item details drill-through.
One workspaceFilter the Compute page.Workspace Detail page for a single workspace.
One itemTimepoint item detail.Item details page with up to 14 days of history.
Storage30-day view with current and billable storage by workspace, including soft-deleted data.Current and average storage by operation and workspace, with a billing-type filter.
AI FunctionsShown as its own operation category in Compute and in the Timepoint pages.Check the operation breakdown in the Compute and Item details views.
Which one to open during an incident: use the default report when you need a specific 30-second timepoint and the Timepoint pages. Use the preview report when you want the Health to Compute to Workspace Detail to Item details route. Both are fine. Just note which one you used.
Question you are answeringStart hereThen go to
Which capacity is unhealthy?Health (either report)Compute
Which 30-second interval caused the spike?Default report: Compute, then TimepointTimepoint summary, then item detail
Which workspace contributed?Preview: Compute, unsmoothed 14 daysWorkspace Detail
Which operation inside an item was expensive?Preview: Item detailsOperation ID and workspace monitoring
Did on-demand Spark billing cause it?On-demand Compute for SparkIts matrix by item and operation
How much storage is billable?Storage (either report)Workspace-level billing type
Suggestion: on a production capacity, keep both reports open for a few weeks. Compare totals and definitions before you rewrite any runbook around the preview report.

3. Prerequisites and installation

You need two things:

  • You must be a capacity admin to install the app.
  • You need a Power BI license (Pro, Premium Per User, or an individual trial) to open and use it.

Microsoft recommends installing the app in a workspace with a Pro license, so the app does not add to the throttling on the capacity it is watching. A monitoring report that runs on the capacity you are investigating can fail at the worst moment.

First-time install

  1. Get the app. Open the Microsoft Fabric Capacity Metrics listing and select Get it now. Or open Power BI, select Apps, then Get apps, search for Microsoft Fabric, and pick Microsoft Fabric Capacity Metrics.
  2. Sign in. Use your Microsoft account and complete the registration screen. You land back in Fabric.
  3. Install. In the Install this Power BI app window, select Install and wait a few seconds.
  4. Run it once. Open the app from the Apps area and connect it to your data (next section).

Government cloud tenants use separate install links for GCC, GCC High, DoD, and the China cloud. They are on the install page. OneLake is not supported in GCC.

Upgrade an existing install

When you get the new version from AppSource, you choose one of three options. This list comes from the earlier version of this guide and was not re-checked on the install page this time.

ChoiceWhat it doesWhen to pick it
Update workspace and appReplaces the current app and its workspace.You are sure you want to replace what is there.
Update only workspace contentUpdates the workspace content without upgrading the app itself.You need that specific maintenance step.
Install another copy in a new workspaceKeeps the old installation and adds a new one.You want to compare the preview report before you replace anything.

To keep your old workspace for comparison, install a second copy and give the new workspace a clear name.

4. First run, parameters, and data delay

In Fabric, switch to the Power BI experience if needed, open Apps, and open the Capacity Metrics app. When it says you have to connect to your own data, select Connect.

Parameters

FieldRequiredWhat to enter
UTC_offsetYesA number from 14 down to -12 for your organisation’s standard time. Use .5 for half-hour zones, for example 5.5 for India. Don’t type a label such as IST.
RegionNameVersion 2.0 and below onlyCapacity admins use Default. Tenant admins have more rules on the install page.
DefaultCapacityIDVersions 1.9.2 to 2.0 onlyThe ID of a capacity you administer. It is in the capacity page URL after /capacities/.
CapacityIDVersion 1.8 and below onlySame as above.
AdvancedOptionalThe app refreshes at midnight by default. Set this to Off to turn that off.
Example for India
UTC_offset = 5.5

The app has other internal parameters. Don’t change them, because that can break the semantic model and the report. On the second screen, pick OAuth2 as the authentication method, which is the only supported one, and set the privacy level to Organizational. Then sign in and choose a capacity. The first load can take a few minutes. If nothing shows, refresh the app.

Data delay

  • Usage data usually shows up 10 to 15 minutes after the activity. Microsoft’s example: at 5:15 PM local time, a utilisation chart might show data up to about 5:00 PM.
  • Capacities, workspaces, and items refresh with a scheduled semantic model refresh at midnight local time. A new capacity, workspace, or item, or a workspace moved between capacities, appears after the next refresh.
  • A new item or workspace also needs at least one operation that used CUs in the past 14 days.
  • To see eligible new data sooner, refresh the app’s semantic model manually.
  • If your capacities change, for example you get just-in-time tenant admin access, update the RegionName parameter if your version uses it, then refresh the model.
Check the last-refresh time before you decide an item is missing. Two minutes after creating something is too early to tell.

5. Health page: find the capacity that needs attention

Start here if you run more than one capacity. The preview Health page shows the capacities you can access in the region you select.

ViewWhat it showsUse it for
LatestThe most recent 30-second window, with the last update time.A quick look at current state. Remember the 10 to 15 minute delay.
Last 1 hourMaximum utilisation and throttling values in the last hour.The worst recent state, not a single moment.
Last 24 hoursShare of time in each state (paused, not throttled, interactive delay, interactive rejection, background rejection, surge protection), plus an at-risk view.Daily review.
Last 14 daysThe same two views over two weeks.Telling a one-off spike from a repeat problem.

The summary cards count active capacities, capacities with no throttling, and capacities that spent any time in interactive delay, interactive rejection, background rejection, or active surge protection. A capacity can be counted in more than one card. If a mitigation such as capacity overage stopped throttling, the capacity is not counted as throttled.

At risk means the capacity spent time above 90% of the interactive delay threshold. Read it as an early warning, not as proof that users were affected.

Things that trip people up on this page

  • State percentages may not add up to 100% because some states overlap.
  • A capacity can show 100% no throttling and still not be green. A very short throttling period can round to 0.00%.
  • Storage here counts Fabric item storage but not Power BI storage.
  • Deleted capacities do not appear. Paused capacities appear if they were active in the period.

Video: the preview Health page

Microsoft’s documentation links a short walkthrough of this page. The report is in preview, so labels may change.

The player loads when you click. If your browser or WordPress blocks it, read the Health page documentation instead.

6. Compute page: read CU usage correctly

Advertisements

The Compute page takes you from “the capacity had a problem” to “these items contributed”. The preview report offers three views:

Smoothed

Last 24 hours

For recent incidents. Finer detail for matching capacity state changes to throttling and items.

Smoothed

Last 14 days

For repeat problems. Shows which items contributed to or were hit by recurring busy periods.

Unsmoothed

Last 14 days

For general workload analysis: what reported consumption, when, and which item kinds, workspaces, and items.

Don’t mix them

Different questions

Smoothed shows when consumption affects capacity. Unsmoothed shows when an operation reported it.

Smoothed or unsmoothed

Fabric spreads the capacity impact of an operation over later timepoints. A background operation might report its usage at 8:00 AM. The unsmoothed view puts all of it at 8:00 AM. The smoothed view spreads it across the period in which it counts against the capacity. Use smoothed for throttling questions and unsmoothed to see how big each workload was when it reported.

CU seconds and CU percentage

The preview Compute page has a CU-seconds view and a percentage view. The seconds view helps when the SKU changed during the period, because you compare actual compute rather than a percentage of a changing budget.

Worked example, F64. An F64 gives 64 CU seconds per second. A 30-second timepoint therefore has 64 x 30 = 1,920 CU seconds of budget. If 1,100 CU seconds were used, that is 1,100 / 30 = 36.7 CU seconds per second, or 1,100 / 1,920 = 57.3% of that timepoint. This is plain arithmetic to show the units. It does not tell you whether the capacity is healthy over longer horizons.
VisualWhat to look atHow to use it
CU(s) over timeAverage CU seconds per second in 30-second windows.Compare real consumption across SKU changes.
CU % over timeUse as a share of available CUs.Context only. Don’t call throttling from this chart alone.
Approx. CUs by item kindSmoothed consumption by workload group.See whether Power BI, Spark, Data Factory, Warehouse, or something else is behind the load.
ThrottlingInteractive delay, interactive rejection, background rejection.Confirm that users were affected, and when.
Overage and carryforwardOverage added, burned down, and remaining.Explain why a capacity stays under pressure after a spike ends.
Health heat mapThe highest-priority state per period.Spot bad hours. Select a period to filter the other visuals.
Impacted itemsItems that tried to run and hit a delay or rejection.Separate the big consumers from the items that suffered.
System events tableHistory of capacity state changes and throttling.Confirm throttling happened. It only lists changes, so an unchanged state does not appear.
Utilisation above 100% does not mean throttling is happening, and utilisation below 100% does not mean it is absent. Earlier overage can carry forward. Look at the throttling charts and the capacity state.

AI Functions

The default report shows AI Functions as its own operation category in Compute and in the Timepoint pages. It is tracked apart from Spark and Dataflows Gen2. Keep it separate when you assign consumption to a team, and compare it on its own when an AI-heavy job lines up with a spike.

On-demand Compute for Spark

This page covers capacities with on-demand billing for Apache Spark. Operations not billed that way stay on the regular Compute page. Spark on-demand data is not smoothed. The usage chart shows billable (blue) and non-billable (red) columns in one-minute periods against a one-minute maximum CU limit line. With no filter it shows the peak timepoint every six minutes, and with a filter it shows every minute. The matrix by item and operation can be sorted by CU seconds, duration, and users, and it has a billing type column. Don’t compare these one-minute values with the 30-second smoothed charts as if they were the same measure.

When Autoscale Billing for Spark is on, bursting and smoothing do not apply to Spark. That usage runs pay-as-you-go, so use this page and not the usual smoothing explanation.

Video: smoothed Compute views

This walkthrough from Microsoft Learn covers the preview Compute page. Use it for navigation, then rely on the throttling page for thresholds.

Compute page documentation

7. How throttling works

Fabric lets operations burst above the SKU’s compute so they finish fast, then smooths the usage over later timepoints so the capacity is not punished for it. Timepoints are 30 seconds long, which makes 2,880 in 24 hours.

  • Interactive operations are smoothed over a minimum of five minutes and up to 64 minutes, depending on how much they use.
  • Background operations are smoothed over 24 hours.

Future capacity, meaning the CUs in later timepoints, pays for the smoothed usage. That is why one utilisation percentage cannot tell you the whole story.

The four stages

Even above 100% utilisation Fabric does not throttle at once. Overage protection lets a capacity use 10 minutes of future capacity first. Throttling then comes in steps, and each step is based on how much future capacity is used up.

Up to 10 minutes
Overage protection
Jobs can use up to 10 minutes of future capacity without being throttled.
10 to 60 minutes
Interactive delay
New interactive operations are delayed by 20 seconds at submission.
60 minutes to 24 hours
Interactive rejection
New interactive operations are rejected. Background operations can still start and run.
More than 24 hours
Background rejection
All new requests, interactive and background, are rejected until carried-forward CUs are paid off.

Microsoft notes it can change the throttling policy, so check the current policy page before you quote these numbers in a runbook.

Rules that explain odd behaviour

  • Operations already running are not throttled. Only operations requested after throttling starts are affected, including long jobs submitted earlier, which run to completion.
  • Warehouse counts as background. Fabric reports almost all Warehouse operations as background, to get 24-hour smoothing. A chain that starts interactive can still throttle a background step as interactive.
  • Real-Time Intelligence skips the delay stage. It waits until the rejection phase at 60 minutes. Eventstreams reduce the CUs held by open streams instead of rejecting new operations.
  • Compound throttling protection. Where a workload supports it, a chain of calls is throttled once per capacity. Microsoft lists DirectQuery over other semantic models and DAX queries from paginated reports as supported.
  • Classification can shift. An operation can be classed interactive at submission and smoothed as background later. When it is unclear, Fabric treats it as background.
  • Only billable operations count. Non-billable preview operations show in the app as a warning of future impact, but throttling calculations ignore them.
  • Throttling is per capacity. When one capacity produces OneLake items and another consumes them, the consuming capacity’s state decides whether it throttles the calls.

A worked smoothing example

One background job uses 1 CU hour, which is 3,600 CU seconds. On an F2 (2 CUs), that is smoothed over 24 hours, or 2,880 timepoints. The job adds 3,600 / 2,880 = 1.25 CU seconds to each timepoint. An F2 has 2 x 30 = 60 CU seconds per timepoint, so the job takes about 2.1% of every timepoint. It also takes about 2.1% of the 10-minute and 60-minute limits. The job used six times what the F2 has in 10 minutes, yet the capacity is not throttled, because smoothing spreads it so thin.

Why the two charts can disagree
Unsmoothed: when usage is reported
A background operation can look like one tall bar at its reporting time.
Smoothed: when usage counts against capacity
The same usage spread across the smoothing period. Use this for throttling.

Illustration only. It is not output from the app and does not show a fixed curve for every operation.

Video: smoothing and throttling background

A session on bursting, smoothing, and what throttling means for users. It comes from the Azure Synapse Analytics YouTube channel and predates the redesigned report, so use it for the concept and not for report navigation.

Watch on YouTube. For current thresholds, use the throttling policy page.

Overage, carryforward, and burndown

When operations use more than the SKU supports in a timepoint, the system works out an overage after smoothing. If overages go beyond the 10-minute window, they become carryforward CUs. Later timepoints that are not full burn the carryforward down. Throttling continues until it is paid off. So a capacity can look fine at the moment you check and still be paying for an earlier burst.

Simple carryforward arithmetic, not a billing quote
Timepoint A: budget 100, used 110, overage added 10
Timepoint B: budget 100, used 93, unused 7
Carryforward left: 10 - 7 = 3

The preview report also has a Capacity Overage view for paid overage. That is separate from carryforward, so read the labels and check any extra charge against your capacity overage settings.

How to tell users are being throttled

Rejected requests return the status code CapacityLimitExceeded or messages such as “Your organization’s Fabric compute capacity has exceeded its limits. Try again later” or “Cannot load model due to reaching capacity limits”. Microsoft also warns that slow performance is often down to how an item is built, and only sometimes down to throttling. Confirm with the System events table and the throttling charts before you blame the capacity.

8. Stopping throttling

A capacity heals itself once the overload ends, so waiting is always an option. If you cannot wait, Microsoft lists these for F SKUs:

ActionWhat happensCost or risk
Temporarily raise the SKUEach timepoint has more idle capacity, so carryforward burns down faster.Higher cost while scaled up. Moving across the F256 and F512 boundary can give a slower experience.
Pause, then resumePausing bills the accumulated future usage. On resume the capacity starts with zero future usage and accepts new work.Content on the capacity is unavailable while paused. Check nobody is using it first.
Capacity overage billingCan prevent throttling from occurring.Microsoft says it costs three times the normal capacity rate.

For P SKUs, turn on Autoscale. If throttling is constant, Microsoft’s advice is to spread workloads across several capacities or increase the SKU. Fix the workload first when one item is the cause.

9. Workspace and item investigation

Workspace Detail (preview)

Workspace Detail is the step between “the capacity spiked” and “this item did it”. It works on one workspace at a time. Use the capacity, workspace, item, user, operation, and date filters at the top. The cards show active items, CU seconds, duration, and users. The trend views show unsmoothed CU, duration, operations, and users by item kind, and you can drill from day to hour. The tables break CU down by item kind, by item, and by operation, and the Item Details table lists each item with CU, duration, users, and billing type.

  1. Open Workspace Detail and choose one capacity and one workspace.
  2. Set the date range to match the incident you saw on Compute.
  3. Compare CU, duration, operations, and users. A rising CU total with a rising operation count points to a different problem than one long operation.
  4. Switch between CU by item kind, by item, and by operation. Sort the Item Details table by CU seconds.
  5. Select the suspect item and choose Item Detail to drill through.
Workspace Detail only shows consumption from the period when the workspace was on the selected capacity. If the workspace moved, missing earlier usage does not mean it was idle.

Item details (preview)

The Item details page shows the workspace, item type, and total CU seconds for one item, with up to 14 days of history. Its trends cover smoothed CU, unsmoothed CU, duration, and operation status. It breaks consumption down by operation, status, and user, and the operations table lists CU, duration, and operation ID. An operation ID can help you match an event to other telemetry, for example Power BI visual query IDs in workspace monitoring.

The page can open with less than 14 days because it keeps filters from Compute, including a heat-map period. Clear them in the filter pane and pick the range you need.

10. Storage page

The preview Storage page analyses one capacity. It shows the SKU, number of workspaces, current storage, and average storage, with filters for capacity and billing type.

  • Current is the latest reported value. Daily values are the last value that day, with hourly drill-down.
  • Average is the daily average, also with hourly drill-down.

The operation breakdown can include OneLake Storage, Allocated SQL Storage, Eventhouse Standard Storage, Eventhouse Cache Storage, and Data Activator Storage. The workspace table shows who holds the most, and splits billable from non-billable.

Storage detail stops at the workspace. The source data has no item-level storage, so you can’t read a table’s size from this page. It also leaves out Power BI storage. For table sizes, use the Lakehouse, Warehouse, or OneLake tools.

11. Investigation lab: a slow capacity every morning

A fictional team reports slow reports between 9:00 and 10:00 AM. Overnight Spark and Data Factory jobs share the capacity. The aim is to learn whether this is capacity pressure, which item contributed, and what to do. Resizing is not the first step.

Investigation path
1 · Confirm healthHealth: Latest, 1 hour, 24 hours, 14 days
2 · Find the timeCompute: smoothed 24 hours and heat map
3 · Find the itemsContributors and impacted items for that window
4 · Trace one operationItem details: CU, duration, status, user, operation ID
  1. Start at Health. Pick the capacity. If the incident was earlier today, use the 24-hour or 14-day views. Write down the window and the last update time.
  2. Open Compute. Use Smoothed: Last 24 Hours. Find where the heat map changes colour and select that period to filter everything else.
  3. Check throttling and carryforward. Read interactive delay, interactive rejection, background rejection, overage, and any surge protection together. Don’t conclude from a utilisation figure alone.
  4. Compare contributors and impacted items. Contributors tell you who used the CUs. Impacted items tell you who was hurt. They are often different items.
  5. Drill through to the suspect item. Look at duration, status, user, CU, and operation ID. Is it one long operation, many small ones, or a schedule that repeats?
  6. Look at the unsmoothed view. Use Unsmoothed: Last 14 Days to see how the workload reported itself. Don’t use it alone to decide on throttling.
  7. Pick the smallest fix. Tune the item or move its schedule first. Scale only when the evidence says the workload cannot run well in the current SKU.
  8. Check again. Compare like windows on the same views. Note CU, throttling time, duration, and user impact.

Runbook for a 9:00 AM slowdown

The times are made up for the example. Assume a shared F64 with semantic models, a Lakehouse, notebooks, and pipelines. Users say a report gets slow when the morning refresh starts.

01 · HEALTHConfirmRecord capacity, SKU, report time, Latest and Last 1 hour state.
02 · COMPUTEFind the windowSmoothed 24 hours, heat map, throttling, System events.
03 · ATTRIBUTERank contributorsUnsmoothed 14 days by workspace, item kind, item.
04 · DRILLInspectWorkspace Detail, then Item details and operation ID.
05 · VERIFYChange one thingFix it, then compare the same window and the user experience.
QuestionWhat to inspectDon’t conclude too early
Was the capacity really throttling?Health state, throttling charts, System events, carryforward, protection indicators.That a single CU% above 100% means everything was rejected.
Did it match the complaint time?Smoothed 24 hours and the heat map. Check the report’s last update time.That the reporting time of an operation is when it hurt the capacity.
Which workspace contributed?Unsmoothed 14 days, then Workspace Detail.That one team or item owns all of a workspace’s usage.
Which operation was expensive?Item details: CU, duration, status, user, operation ID.That the longest operation is also the highest-CU one.
Is on-demand Spark involved?On-demand Compute for Spark, billable and non-billable values.That its one-minute values match the 30-second smoothed charts.
64 CU/sF64 base rate
1,920 CU-sF64 budget in 30 seconds
57.3%1,100 CU-s of that budget

Before you resize

Ask four things. Is the capacity throttling, or only busy? Does one item, one retry loop, or one Spark shuffle account for most of the load? Is it real concurrency? Does the pattern repeat on several business days? If one item dominates, tune or reschedule it first. Resize when tuning is done and the capacity still can’t meet the target, or as a clearly temporary step during an incident.

After the fix

  • Compare the same report, date range, and weekday.
  • Note the SKU for each period. CU% changes when the SKU changes even if raw usage does not.
  • Track CU, duration, operation count, and failures, and also what users saw: delays, failed refreshes, missed deadlines.
  • Write down the change and its owner. The app is the evidence, and the incident record is where the decision lives.

What to record for each incident

FieldRecord
Capacity and SKUName, region, and the SKU during the incident.
Report usedDefault or preview, and the page.
Time windowLocal time, time zone, selected period, last data refresh.
Capacity stateHealthy, at risk, interactive delay, interactive rejection, background rejection, paused, or protected by overage or surge protection.
Top contributorsWorkspace, item name and type, CU use.
Operation detailsType, status, duration, user, operation ID.
Action and resultWorkload change, schedule change, scale change, and the same measures afterwards.

12. What to fix afterwards

The app shows where to look. It does not say which code change is right, so check the fix with the tool for that workload.

What the app showsWhat to doWhat to measure after
Semantic model operations dominate.Check model size, DAX patterns, refresh strategy, partitioning, and concurrency with the Power BI tools.Refresh time, query time, CU, failures.
Spark or notebooks dominate.Check job plans, shuffle, partition counts, file sizes, cluster settings, and overlapping schedules.Job duration, shuffle volume, CU, overlap.
Warehouse activity is heavy.Review query plans, joins, concurrency, and ingestion with query insights and query monitoring.Query time, queueing, CU.
Data Factory or Dataflow Gen2 dominates.Review copy throughput, transformations, source limits, retries, and overlapping refreshes.Pipeline duration, retries, CU.
Many operations, moderate CU each.Look for refreshes, polling, or small jobs running too often.Operations per hour, users, total CU.
Storage keeps growing.Find the workspaces and storage operation types, then look at retention in the owning workload.Current and average storage, billable split.
There is no standard percentage at which every capacity should be scaled. Look at workload mix, concurrency, throttling state, peak hours, growth, and your service targets.

13. Alerts

The Capacity Metrics app does not support alerts or notifications. Use Fabric capacity overview events for capacity health and Fabric capacity operation events for single operations.

Event groupDetailUse it for
Capacity overview eventsA summary every 30 seconds plus capacity state-change events.Capacity health, smoothed CU use, state changes, utilisation alerts.
Capacity operation eventsOne event per operation that uses capacity.Alerts on a specific operation, item kind, or throttling delay.

Operation events can be very frequent on a busy capacity. Group them by something stable such as capacityId, workspaceId, itemId, or operationName, and filter on fields like itemKind, utilizationType, or status. Useful measures include capacityUnitMs, durationMs, and throttlingDelayMs. An ungrouped per-operation alert will flood you. Responses can go to email, Teams, a Fabric activity, or a custom action. The event consumer must be in the same region as the source, and outbound access protection or private link settings can affect cross-workspace consumption.

Set a capacity alert from Real-Time hub

  1. Open Real-Time hub and find the Fabric capacity overview events.
  2. Choose an alert template: capacity usage percentage over a threshold, or a capacity metric over a threshold.
  3. Select the capacity and set a threshold. The usage template defaults to 80%, which is a starting point and not a rule.
  4. Or alert on a state change such as Overloaded, Active, Suspended, or Deleted.
  5. Pick the destination, then test that the alert reaches the right owner.
Alerts for notice, the app for investigation
Capacity eventsState and metric changes
Alert workflowNotify the capacity owner
Metrics appHistory, CU use, items, operations

14. Sharing and privacy

Installing the app creates a workspace in your tenant. You must be a capacity admin to share the report. Open the app, go to the workspace where you installed it, and select Share. You can share with people in your organisation or with B2B guests. A guest who is in the tenant still can’t open the report until you share it with them.

The app shows user names and emails. To hide them, turn off Show user data in the Fabric Capacity Metrics app and reports in the admin portal. Check your data governance policy before you give a wide audience user-level activity.

15. Known quirks

These come from the limitations list on Microsoft’s overview page. They explain several things that look like bugs.

  • The throttling thresholds on the charts do not reflect surge protection settings. Check the real surge protection thresholds in the admin portal.
  • In the interactive and background operation tables, the Throttling(s) column shows zero when throttling is disabled, even if the capacity is overloaded.
  • CU % in the top heartbeat line chart can differ from the Total CU in the operation tables by 0.01 to 0.05 percent.
  • On the Capacity utilization and throttling chart in logarithmic view, the left and right axes don’t line up.
  • The System events table does not list a state that stayed the same over the period.
  • The CU (s) column in the matrix by item and operation adds up the item’s past 14 days, including time in a previous workspace if you moved it.
  • Exporting data from the Export Data page can sample the data.
  • Tenant-level private links work. Workspace-level private links do not work on workspaces where the app is installed.
  • Don’t build your own reports on the app’s semantic model. Microsoft supports it only for the reports in the app.

16. Troubleshooting

The preview report is not in the navigation pane

Check that you installed or upgraded to version 3.0 or later. The pane then lists the default report and Fabric Capacity Metrics Preview.

The app installs but shows no data

Finish the first-run Connect step, check the parameters and the semantic model credentials, and allow 10 to 15 minutes. If it still can’t refresh, Microsoft’s steps are: delete the old app, reinstall the latest version, then update the semantic model credentials.

A new capacity or workspace is missing

New capacities and workspaces appear after the next scheduled refresh. New items and workspaces also need an operation that used CUs in the past 14 days. Refresh the semantic model manually to see them sooner.

Utilisation is above 100% but nobody is throttled

That can be normal. Overage protection covers the first 10 minutes of future capacity. Check the throttling charts and the capacity state.

Throttling shows while utilisation is under 100%

Look for carryforward from an earlier burst. Unused capacity burns it down over time, and throttling continues until it is gone.

Item details shows fewer than 14 days

The page kept the filters from Compute. Clear them and choose the range.

Storage does not match a table’s size in OneLake

The Storage page works by workspace, not by item, and it leaves out Power BI storage. Use the workload’s own tools for table size.

On-demand Compute for Spark does not match the Compute page

It is a separate report. The data is not smoothed and appears in one-minute periods. Use its billable and non-billable columns.

Workspace Detail shows less history than I expected

It only shows the period the workspace spent on the selected capacity. Check whether the workspace moved.

I need alerts

The app does not send them. Use capacity overview events and capacity operation events.

The videos don’t play

Browsers and WordPress security plugins sometimes block embedded players. Use the links under each video.

17. Frequently asked questions

Is the Capacity Metrics app free?

It is a Microsoft app available through AppSource. You need to be a capacity admin to install it and a Power BI license to use it. It does not change what the capacity itself costs, and capacity overage has its own charges, so check current commercial terms.

Can someone who is not an admin view the report?

A capacity admin has to share it. Being in the tenant is not enough.

Is the preview report generally available?

No. Microsoft labels the redesigned report as preview. The existing report is generally available and remains the default.

How current is the data?

Usage data usually arrives 10 to 15 minutes late. Capacities, workspaces, and items refresh at midnight local time.

How far back can I look at one item?

The preview Item details page keeps up to 14 days. Filters carried from other pages can make the first view shorter.

Does 100% utilisation mean throttling?

No. Bursting, smoothing, overage protection, and carryforward all affect the capacity state. Use the throttling charts and the System events table.

What does it cost to stop throttling quickly?

Options for F SKUs are a temporary SKU increase, a pause and resume, or capacity overage billing. Microsoft says overage costs three times the normal capacity rate, and pausing bills the accumulated future usage. Waiting for the capacity to heal costs nothing but time.

Can the app tell me which table caused storage growth?

No. Storage detail is by workspace. Microsoft says item-level storage is not available because the source data does not provide it.

Can I set an alert in the app?

No. Use Fabric capacity overview events for capacity alerts and capacity operation events for single operations.

Why are in-flight jobs not affected when throttling starts?

Throttling only applies to operations requested after it begins. Jobs that were already running finish, even long ones.

18. Official Microsoft references

Use these when the app or the preview changes.

This guide reflects Microsoft documentation reviewed on 5 November 2026. The redesigned report is in preview, and Microsoft updates the app often. Before you use a chart as incident evidence, confirm the report name, page, time range, SKU, and last refresh time. Incident descriptions and diagrams here are illustrations, not tenant measurements.

Scroll to Top