The release where Darling grows up
Darling — the headless, centralized edition — goes from scaffold to a real product. Run it as a Windows service with a bundled managed Postgres / TimescaleDB store, browse it from a web dashboard, and drive it from an AI agent over MCP. One product for five servers or five hundred.
Darling replaces the Full Dashboard. Full is now deprecated (bug fixes only) — Darling is its successor for anyone running more than a box or two. Alongside it, a shared collector library brings Darling and Lite to full parity, both gain bulk fleet onboarding, and connection-loss alerting lands.
No database schema changes this release — upgrading an existing
PerformanceMonitordatabase just re-runs the installer idempotently and records the new version. Multi-hop upgrades from v2.11.0 and v3.0.0 were verified this cut, with data preserved.
🚀 Darling — the headless / centralized edition
- Zero-admin store. A managed PostgreSQL bootstraps itself on first run; TimescaleDB is adopted optionally for hypertables, chunk-based retention, and compression as the archival tier. A memory-tuning
postgresql.confis derived from host RAM so the store scales toward the up-to-500-server target. - Copy-parity viewer. Every Lite tab, faithfully ported — Overview (correlated timeline lanes), Wait Stats, CPU, Memory, TempDB, File I/O, Blocking (blocked-process reports, deadlocks, block-chain + deadlock-graph viewers), all six Queries sub-tabs, Configuration, Perfmon, Running Jobs, Daily Summary, and the Plan Viewer — plus a fleet sidebar and per-server tabs.
- Read-only web dashboard served by the service — fleet overview, per-server drill-down, and alert history in the browser, no desktop app required.
- Custom Views v2. Compose your own metric dashboards — measures, filters, grouping, units, chart types; gauge ratios, stacked bars, threshold lines, event annotations, per-panel drill-down, execution-weighted Query Store averages — plus notebook mode for investigation documents.
- Agent-driven MCP write tools. An MCP client can now author and manage Custom Views (calling
describe_custom_view_catalogto learn the exact compose vocabulary instead of guessing), tune alert thresholds and manage mute rules, and bulk add or remove monitored servers — standing up and adjusting fleet monitoring from a conversation. - Headless endpoint management.
--enable-mcp/--disable-mcp/--enable-web/--disable-webflip the control-plane toggle and open/close the scoped firewall rule in one elevated step;--configure-networkis a guided, fail-closed wizard for the opt-in LAN endpoints; scripted install / uninstall ships in the zip. - Security hardening (Phase 1). A least-privilege schema split with dedicated roles — the Viewer and the MCP server stop connecting to Postgres as the superuser.
- Central execution-plan capture — extended to
procedure_stats,blocked_process_report, anddeadlocks, with a service-mediated Get Actual Plan. (Lite still does not capture plans.) - Ships as a Velopack
Setup.exefor remote seats, and is now wired into the release pipeline and nightly CI (including a gated live-PostgreSQL test suite that runs on pull requests).
🧩 Shared collectors & Darling / Lite parity
PerformanceMonitor.Collectors— a shared collector-definition library; Darling's Postgres schema is generated from the same definitions Lite uses, so the two editions can't quietly drift apart.- Nine collectors became shared this release, surfacing in both:
latch_stats,spinlock_stats,cpu_scheduler_stats,plan_cache_stats,system_health_events,default_trace_events,job_history,agent_status,session_summary_stats. - New Lite tabs: Latches & Spinlocks, CPU Scheduler, Plan Cache, System Events, a retained fleet-wide Job History, and Configuration Changes.
- Global per-server database filter; NOC Overview sorts server tiles by CPU% (persisted CPU% / Name selector), both apps.
📥 Bulk onboarding · ☁️ Cloud & alerting
- Add Multiple Servers — onboard a whole fleet from one pasted list, in both apps, with per-connection encryption mode and server-certificate-trust options. The Darling MCP
add_servers/remove_servertools do the same from an agent. - Connection-lost / connection-restored alerts, plus a generic webhook channel for both apps — one alert per outage edge (a multi-hour outage is one alert, not nine hundred).
- Azure SQL DB: edition detection with graceful skipping of collectors that don't exist there, per-database handling, and recovery from IP-rotation firewall blocks that previously required a restart.
- Long-running query completion trace — a dedicated completion-trace Extended Events session (opt-in, ships disabled) in Lite and the Darling viewer.
🤖 MCP & recommendations
- Lite's MCP surface grows to 74 tools (the 18 previously Darling-only tools ported; the cross-app inventory ratchet drained to zero).
- Every remediable recommendation now yields the same runnable copy-paste T-SQL command across Lite and the Darling viewer;
analyze_serverandget_analysis_findingsreturn the full remediation command. - Shared analysis
FactScorerparity arms: plan-cache single-use bloat, ring-buffer memory pressure, tempdb, and server-config classifications.
🏗️ Under the hood
- Front-end shell collapse — chart renderers, the column-filter popup, the standalone Plan Viewer, deadlock-graph parsing, and more hoisted into a shared
PerformanceMonitor.Uilibrary, so Lite and the Darling viewer share one front end; alert-context builders intoPerformanceMonitor.Alerting. - CI now gates build / test / publish per product (a change to one edition no longer rebuilds the others); nightly covers Darling.
The lineup
Darling is the new flagship — it replaces the Full Dashboard. Two active editions share one brain:
| Darling — flagship | Lite | |
|---|---|---|
| Shape | Headless service, runs 24/7 | Portable single exe |
| Store | Managed Postgres / TimescaleDB | Embedded DuckDB |
| Scale | 5 servers or 500 | A handful, one box |
| Viewer | WPF viewer + web dashboard | WPF app |
| Custom Views v2 | Yes — compose + notebooks | — |
| MCP server | Read + write tools | 74 tools |
The Full Dashboard still ships in this release but is winding down; new investment goes to Darling and Lite.
Full changelog: CHANGELOG.md