22-25 April 2026

Tenant Observability & Automation: Capacity Metrics, Log Analytics, Scanner API and Python

Proposed session for SQLBits 2026

TL; DR

Learn how to monitor a Power BI/Fabric tenant: combine Capacity Metrics, Log Analytics, and Scanner API, then automate data collection with Python. Identify costly DAX queries and capacity usage, and build your own monitoring report.

Session Details

Power BI and Fabric provide rich monitoring, yet manually tracing heavy DAX queries and capacity spikes can be arduous. This session shows how to connect the Capacity Metrics App, Log Analytics and Scanner API, then automate insights with Python. We’ll start with core concepts like Capacity Units, smoothing and the difference between interactive and background operations. You’ll see how to enable the OperationId column in the Capacity Metrics App and cross‑reference it in Workspace Monitoring or Log Analytics to retrieve the text and timing of a DAX query. Using the SemPy library, we’ll execute a query and pull its capacity consumption, enrich the analysis with metadata from the Scanner API, and wrap everything into Python scripts that generate reports or alerts.

3 things you'll get out of this session

Understand Fabric capacity fundamentals: Capacity Units, smoothing and the difference between interactive and background operations. Learn to link OperationId from the Capacity Metrics App to specific DAX queries via Workspace Monitoring/Log Analytics and retrieve the query text and duration. Practice using Python with SemPy and the Scanner API to automate the detection of heavy queries, quantify their capacity consumption and produce a custom monitoring report.