Forum Discussion

PrathyushaT's avatar
PrathyushaT
Frequent Visitor
6 months ago
Solved

Need information about capacity usage

My query: We do have capacity metric app in which we will  see only 14 days data right... 1. Is there any other way where we can see capacity usage metric data? Apart from metric app. 2. I would...
  • Mauro89's avatar
    6 months ago

    Hi PrathyushaT

     

    for nearly all of your questions you can use the third party tool called "FUAM".

    fabric-toolbox/monitoring/fabric-unified-admin-monitoring at main · microsoft/fabric-toolbox

    It is a very hugh tool with big reports, so navigate through it and find the most useful parts, especially regarding your questions.

     

    In this toolbox data ist stored longer than in the Capacity Metrics App.

     

    Hope this helps you out 🙂

     

    Best regards!

    PS: If you find this post helpful consider leaving kudos or mark it as solution

  • Olufemi7's avatar
    6 months ago

    Hi PrathyushaT,

    You’re correct that the Microsoft Fabric Capacity Metrics App shows only ~14 days of historical data.

    Below are direct answers to each of your numbered questions, aligned with Microsoft guidance.

    1. Is there any other way to see capacity usage metric data apart from the Metrics App?

    Yes.

    To retain and analyze capacity data beyond 14 days, you must enable:

    Admin Portal → Capacity → Diagnostic settings

    You can export telemetry to:

    • Azure Log Analytics

    • Storage Account

    • Event Hub

    Microsoft documentation confirms this is the supported way to access and retain telemetry beyond the built-in 14-day window.

    Reference:
    Capacity Metrics App (14-day view)
    https://learn.microsoft.com/power-bi/enterprise/service-premium-gen2-metrics-app

    Diagnostic Logs configuration
    https://learn.microsoft.com/power-bi/transform-model/log-analytics/desktop-log-analytics-configure


    2. How many times did capacity reach 100% in a month?

    This is not available directly in the Metrics App UI.

    However, once logs are exported to Log Analytics, you can query CPU percentage over a monthly range and count how many times it reached 100%.

    Microsoft documents that CPU metrics are available via Azure Monitor.

    Reference:
    Supported capacity metrics
    https://learn.microsoft.com/azure/azure-monitor/reference/supported-metrics/microsoft-powerbidedicated-capacities-metrics


    3. How many times was autoscale triggered in a month?

    Autoscale events are recorded in telemetry.

    Microsoft states that autoscale is triggered when interactive throttling occurs. Once logs are exported, you can count autoscale events over any time range.

    Reference:
    Autoscale documentation
    https://learn.microsoft.com/power-bi/enterprise/service-premium-auto-scale


    4. In a month, which workspaces had high CPU usage?

    The Metrics App shows this only for 14 days.

    If you export logs, you can aggregate CPU or CU consumption by:

    • Workspace

    • Dataset

    • Operation type

    This allows ranking workspaces by usage over any historical period.

    Reference:
    Log Analytics integration
    https://learn.microsoft.com/power-bi/transform-model/log-analytics/desktop-log-analytics-configure


    5. Is there a way to analyze which DAX caused high interactive usage?

    The Metrics App shows:

    • Workspace

    • Item

    • Operation

    • User

    But it does not show the exact DAX query text.

    For detailed DAX analysis, use:

    • XMLA endpoint

    • SQL Server Profiler

    • DAX Studio

    Premium XMLA connectivity documentation:
    https://learn.microsoft.com/power-bi/enterprise/service-premium-connect-tools

    This is the supported method for tracing long-running queries.


    6. What solutions should be considered if interactive or background usage is high?

    If interactive usage is high:

    • Optimize DAX calculations

    • Reduce heavy visuals per page

    • Avoid high-cardinality columns in visuals

    • Use Aggregations

    • Educate heavy users

    If background usage is high:

    • Stagger refresh schedules

    • Use Incremental Refresh

    • Optimize Power Query folding

    • Reduce concurrent refreshes

    Microsoft workload guidance:
    https://learn.microsoft.com/fabric/enterprise/powerbi/service-admin-premium-workloads

    Performance guidance:
    https://learn.microsoft.com/power-bi/guidance/power-bi-optimization


    7. Is there an API to create a custom capacity report?

    Yes.

    The Power BI REST API provides Admin endpoints such as:

    • Get Activity Events

    • Get Capacities

    • Get Refresh history

    Admin API reference:
    https://learn.microsoft.com/rest/api/power-bi/admin/get-activity-events

    Note: Activity Events provide audit data. For detailed capacity metrics, diagnostic log export is required.


    8.  Where is capacity metric data stored? How can I access it?

    There are two storage layers:

    1. Microsoft-managed telemetry (used by the Metrics App)

      • Retention: ~14 days

      • Not directly accessible

    2. Your configured Diagnostic export destination

      • Log Analytics / Storage / Event Hub

      • Retention depends on your configuration

    Access requires enabling Diagnostic Settings.

    References:
    Metrics App overview
    https://learn.microsoft.com/power-bi/enterprise/service-premium-gen2-metrics-app

    Diagnostic export
    https://learn.microsoft.com/power-bi/transform-model/log-analytics/desktop-log-analytics-configure


    9.  How to achieve more than 14 days of data for root-cause analysis?

    The only supported approach is:

    1. Enable Diagnostic Settings

    2. Export telemetry to Log Analytics

    3. Retain data long-term

    4. Build a custom semantic model

    5. Create governance dashboards to analyze:

      • Monthly CPU saturation

      • Autoscale triggers

      • Workspace-level usage

      • Dataset-level consumption

    For DAX-level root cause, use XMLA tracing tools.


    Final Conclusion

    • Capacity Metrics App = 14-day monitoring window

    • Long-term history = Diagnostic log export

    • Monthly CPU spikes & autoscale events = Query exported logs

    • Exact DAX analysis = XMLA / Profiler tools

    • Custom reporting = REST APIs + exported telemetry

    All the above is aligned with official Microsoft documentation and supported monitoring architecture.

    Hope this clarifies everything clearly and definitively.

     
     
  • MohdZaid_'s avatar
    6 months ago

    Hey PrathyushaT  , 

     

    Alternative Approach

    You can connect the Capacity Metrics semantic model to a Power BI Desktop file and create a flattened report (for example, by extracting the required tables into a summarized dataset).

    Once the report is prepared, you can:

    • Manually export the data at regular intervals, or
    • Use Power Automate to schedule exports and automatically save the data into a designated folder.

    By storing these exported files (CSV/Excel) in a folder, you can build a separate Power BI report that connects to that folder as a data source. Over time, this folder will accumulate historical data beyond the 14-day limitation.

     

    Finally, publish this custom report to the Power BI Service to maintain your own long-term capacity monitoring dashboard.

     

    If this solved your issue, please mark it as the solution so others can find it easily.

    If it helped, a quick ‌‌ Kudos is always appreciated it helps highlight useful answers for the community.

    Thanks for being part of the discussion !!!