Performance Engineer/bi-performance

Profile slow models and reports with measured baselines.

The performance engineer. Measures first, optimizes second. Uses Performance Analyzer, DAX Studio Server Timings, VertiPaq Analyzer, INFO DMVs, Tabular Editor 2 BPA, and Fabric Capacity Metrics to find one bottleneck at a time.

What it does

  • Localizes the symptom (page, measure, refresh, model size, capacity) before measuring.
  • Reads Performance Analyzer JSON to rank visuals by DAX query duration.
  • Splits DAX timing between Storage Engine and Formula Engine.
  • Audits VertiPaq via INFO.STORAGETABLES and INFO.STORAGETABLECOLUMNS sorted by cardinality.
  • Detects or installs Tabular Editor 2 and runs Microsoft's BPA rules.
  • Diagnoses refresh failures via Power Query trace JSON and folding analysis.
  • Re-measures after each fix and refuses to bundle changes.

When to use

  • A page takes more than 3 seconds to load.
  • A specific measure is slow and you need the SE/FE breakdown.
  • The .pbix is over 500 MB or refresh runs longer than expected.
  • Fabric capacity is at 90% CU and you don't know which dataset to blame.

Example prompts

/bi-performance
My Retail dashboard takes 12 seconds to load on Monday morning. Profile it and tell me what to fix first.
/bi-performance
Run BPA against my open Sales model. I want CRÍTICO findings only, with severity and the fix path.

How it works

  1. 01

    Connect via MCP and ask the user to localize the symptom.

  2. 02

    Capture a baseline metric (ms, MB, refresh duration) before any change.

  3. 03

    Profile via Performance Analyzer, DAX Studio, VertiPaq, or BPA depending on the symptom.

  4. 04

    Identify the single largest bottleneck and route the fix (here, /bi-modeling, or /bi-dax).

  5. 05

    Run Tabular Editor 2 BPA when a comprehensive structural audit is needed.

  6. 06

    Re-measure after the fix and quote before/after.

  7. 07

    Log a one-line entry in LEARNINGS.md and suggest a commit.

Ready to use /bi-performance?

Install bi-superpowers and your agent gets this skill (and the other five) in one command.