Skip to content

Releases: erikdarlingdata/PerformanceStudio

v1.7.4

22 Apr 16:07
48870b0

Choose a tag to compare

What's Changed

Full Changelog: v1.7.3...v1.7.4

v1.7.3

22 Apr 15:28
f18fe57

Choose a tag to compare

What's Changed

Full Changelog: v1.7.2...v1.7.3

v1.7.2

22 Apr 10:09
fdf490d

Choose a tag to compare

What's Changed

Full Changelog: v1.7.1...v1.7.2

v1.7.1

21 Apr 15:14
341678f

Choose a tag to compare

What's Changed

Full Changelog: v1.7.0...v1.7.1

v1.7.0

21 Apr 00:51
ef7690c

Choose a tag to compare

What's Changed

Full Changelog: v1.6.0...v1.7.0

v1.6.0 - Joe Obbish is a Good Guy

20 Apr 16:06
2958568

Choose a tag to compare

What's Changed

Full Changelog: v1.5.0...v1.6.0

v1.5.0

13 Apr 18:12
838f40f

Choose a tag to compare

What's New

Maximum Benefit Scoring (#215)

Plan analysis findings now include a maximum benefit percentage — the estimated max % of elapsed time that could be saved by addressing each finding. Findings are sorted by benefit across all outputs, so the most impactful issues appear first.

This addresses the core feedback from issue #215: big, complex plans produce too much noise, and the Info/Warning/Critical severity can feel arbitrary. With benefit scoring, a key lookup taking 0.1% of elapsed time won't overshadow a scan consuming 90%.

How it works:

  • Each finding's benefit is calculated from the operator's actual self-time relative to statement elapsed time
  • For estimated plans, the optimizer's cost percentage is used as a fallback
  • Findings without a quantifiable benefit (e.g., local variables, OPTIMIZE FOR UNKNOWN) remain visible but sort below quantified findings

Scored rules in this release:

  • Filter Operator, Spill, Key Lookup, RID Lookup, Scan With Predicate, Non-SARGable Predicate, Scan Cardinality Misestimate, Eager Index Spool (operator self-time)
  • UDF Execution (UDF elapsed time)
  • Nested Loops High Executions (inner-side elapsed time)
  • Ineffective Parallelism / Parallel Wait Bottleneck (parallelism efficiency gap)
  • Serial Plan, Memory Grant, High Compile CPU (statement-level heuristics)
  • Row Estimate Mismatch (harmed operator time)

Visible in:

  • Desktop app Properties panel and tooltips
  • CLI text output: [Warning] Scan With Predicate (up to 87% benefit): ...
  • HTML export: benefit badge on each warning
  • JSON API: max_benefit_percent field on each warning
  • Web app at performancestudio.dev

Other changes since v1.4.3

  • Wait stats as cross-cutting analysis signal in PlanAnalyzer
  • Inline wait type labels and expanded wait stats coverage
  • Query classification in triage card
  • HTTPS plan sharing API
  • Issue #178 round 3 feedback (items 17-25)

This is Stage 1 of the benefit scoring system. Future stages will add wait stats benefit allocation, cardinality root-cause attribution, and actionable fix suggestions.

v1.4.3

08 Apr 13:33
c99311e

Choose a tag to compare

What's Changed

Full Changelog: v1.4.2...v1.4.3

v1.4.2 - SignPath Signing Party

07 Apr 18:05
81e7285

Choose a tag to compare

Early Release

The main point of this release is to get the app out there with the production SignPath certificate. That means an end to all of the false flag malware/virus warnings that I've been dealing with on Windows.

What's Changed

Full Changelog: v1.4.1...v1.4.2

v1.4.1

07 Apr 17:53
e8cd496

Choose a tag to compare

What's Changed

Full Changelog: v1.4.0...v1.4.1