How to Simplify Fabric Capacity Monitoring
Carlos Cantu
Senior Business Intelligence Engineer - Microsoft Power BI/Fabric Administration, Governance & Data Ops.
Introduction:
This article shares an easy-to-implement solution to leverage the information within the Fabric Capacity Metrics semantic model. The target audience is Fabric Administrators, but this topic can benefit Business Analysts, Super Users, and other stakeholders by providing near real-time insights into capacity status. For instance, if they notice their Fabric artifacts are slower than usual, they can use this solution to determine if the capacity is under stress.
?????????????? I will provide some basic information about the Microsoft Fabric Capacity Metrics app (Capacity app) but will not delve deeply, as this is not intended to be a comprehensive introduction to the app.
1. What is the Capacity app?
The Capacity app, available through the Power BI apps marketplace, provides capacity utilization information for each of your capacities over the last 14 days, updated constantly. For more information, visit: What is the Microsoft Fabric Capacity Metrics app? - Microsoft Fabric | Microsoft Learn
2. Insights from the Capacity App
The app offers several valuable insights, such as:
·??????? Impact of interactive versus background utilization.
·??????? General utilization of the capacity, i.e., how close we are to reaching 100% of our allocated capacity.
·??????? Details of overload events, including related items, operations, and users.
3. Challenges in using the app
While the app provides useful information, it can be overwhelming, even for Fabric Administrators. Additionally, it may require multiple steps to extract valuable information, posing a challenge for sharing its content with a wider audience.
4. Proposed Solution
My proposed solution focuses on reducing noise by highlighting the following relevant signals in a single visual:
Interactive delay: ?User-requested interactive jobs are throttled.
Interactive rejection: User-requested interactive jobs are rejected.
Background rejection: ?User-scheduled background jobs are rejected and not executed.
For more information about Microsoft’s throttling policies, visit: Understand the metrics app compute page - Microsoft Fabric | Microsoft Learn
Steps to Create the Visual
Now is time to explain the solution, the end goal is to create a simple visual like the following which includes the most relevant information regarding the current capacity state and can be consumed by the stakeholders with some basic education/training.
As you can see for each timepoint we have the main signals that were previously explained and as they are related to each other we can see the subsequent effect of a utilization overload over the throttling policies. The color codes resemble temperature where in this article’s context red (hot) is good and blue (cold) is good, however on the flip side having only low (cold) values could mean that we have and underutilized capacity which of course is not desirable, the totals will show us the max values that have been reached within the last 14 days.
Even though the creation of this visual is simple I’ll share the general steps for clarity’s sake so you can build your own if so desired.
Step 1: Install and configure the Capacity app for the capacity you want to monitor.
This might be obvious, but if you haven’t done it yet you’ll need to install the capacity app and configure it for the capacity that you want to monitor.
Step 2: Access the workspace where the capacity is located and create a new report within the service.
领英推荐
?
Step 3: Select the “Pick a published semantic model” option and connect to the “Fabric Capacity Metrics” semantic model.
?
?
Step 4: Add a table visualization and include the following fields to the columns. ‘TimePoints’[TimePoint] ‘
All Measures’[Cumulative CU Usage % Preview]
‘All Measures’[Dynamic InteractiveDelay %]
‘All Measures’[Dynamic InteractiveRejection %]
‘All Measures’[Dynamic BackgroundRejection %]
Rename the columns as desired, in my case I renamed them as Time, Utilization, Interactive Delay, Interactive Rejection and Background Rejection.
Step 5: Apply conditional formatting to the measures’ background color. This is how I configured it.
?
Step 6 (optional): Share the report through Teams. Share the report through Teams. To provide easy access to my Admin teammates, I created a tab in one of our main chats. Simply add a tab, look for the Power BI app, and add a link to your report or select it from the workspace.
?
Future improvements
·??????? Add a parameter to switch between different capacities.
·??????? Set Data Activator alerts. This will depend on alerts availability in Teams as I’m currently getting the following message:
Conclusion
Finding a simple way to monitor and share the state of our Fabric capacity is crucial. This tool has proven useful as part of our daily monitoring process. I hope you find it useful as well, and I am curious to know if you are following a similar approach or planning to try this or a similar option.