tharunkumarRTK's avatar
tharunkumarRTK
Super User
4 months ago

Semantic Link – DAXLoadTest

Every semantic-model developer asks the same question before a deploy: "will this regress under real user load?" Today there's no answer,  Power BI teams either hand-write synthetic DAX or skip load-testing entirely.
 
DAXLoadTest replays the real DAX queries your users have been running against your semantic model, under configurable concurrency, and pinpoints which queries slow down — then tells you the exact Report → Page → Visualresponsible for each regression.
The tool combines three Fabric capabilities that have never been stitched together before:
  • Workspace Monitoring Eventhouse as the query corpus, the only source of historical DAX text in Fabric
  • sempy.fabric.evaluate_dax for parallel replay, with a novel DAX-VAR-literal tagging trick that survives XMLA normalization and gives a bulletproof join key between sent queries and trace logs
  • sempy_labs.report.ReportWrapper to auto-map VisualId GUIDs to human-readable report/page/visual names
  • Results land in an interactive Plotly dashboard (KPI tiles, regression bar chart, baseline-vs-load scatter, drill-down table) rendered inline. No Lakehouse, no Delta tables, no setup, set 4 parameters, run the notebook, read the dashboard. Drop it into a Data Factory pipeline to catch performance regressions before they reach users.


External libraries used:
  • semantic-link-labs (sempy_labs) — Microsoft's extension library. Used for sempy_labs.report.ReportWrapper.list_visuals() to enrich queries with Report → Page → Visual metadata. Repo: github.com/microsoft/semantic-link-labs
  • plotly — interactive dashboard rendering (KPI indicators, bar chart, log-log scatter, drill-down table).
  • pandas / numpy — in-memory analytics and join orchestration (pre-installed).
  • PySpark + Azure Data Explorer Spark connector (com.microsoft.kusto.spark.synapse.datasource) — pre-installed on Fabric; used to query the Workspace Monitoring Eventhouse via KQL.


Github Repo Link: Semantic Link - DAXLoadTest

 

1 Reply

  • Baran_B's avatar
    Baran_B
    Regular Visitor

    Nice work, you can also merge this with the BEST PRACTICE ANALYZER , so you can get a full view.