Skip to content

v3.2.0 — Darling grows up

Latest

Choose a tag to compare

@erikdarlingdata erikdarlingdata released this 21 Jul 23:03
8b44776

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 PerformanceMonitor database 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.conf is 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_catalog to 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-web flip the control-plane toggle and open/close the scoped firewall rule in one elevated step; --configure-network is 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, and deadlocks, with a service-mediated Get Actual Plan. (Lite still does not capture plans.)
  • Ships as a Velopack Setup.exe for 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_server tools 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_server and get_analysis_findings return the full remediation command.
  • Shared analysis FactScorer parity 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.Ui library, so Lite and the Darling viewer share one front end; alert-context builders into PerformanceMonitor.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