- DiskForecast.EnoughHistory: false for "ingen målinger endnu" and "for lidt historik",
so a rule can say "ikke målbar" instead of "fyldes ikke op". Days are counted from
now (a last point older than its hour is subtracted); FullAt takes the time the
forecast was made; Describe says "fuld nu" at 0 days.
- ServerEventGroup.Buckets: counts per clock hour, and Recent sums only the hours with
events in the last 24 hours (FirstAt within the window), so a recurring error no
longer adds up from when it was first seen. Older groups without buckets still merge.
- ServerPerformanceMath.Sample takes the interval: after a gap of more than three
intervals CPU and pages/s are null rather than the gap's average stamped now.
Commit percent is computed in floating point.
- TaskResults.IsUserOrUpdaterTask (a user's SID in the name, OneDrive/Edge/Google
updaters, User_Feed_Synchronization), HasUserSid and Display (SID replaced by a
short hash for titles and subjects).
- Tests: forecast from real history, irregular sampling, identical timestamps,
a shrunk volume, days from now; an error every ten hours over three days; a
sample after a gap.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Core/Servers: what the agent collects from a Windows server (CPU and memory from
raw counters, disks, services, events, scheduled tasks), roles and sources, host
validation and the computer behind a SQL Server data source.
- DiskForecaster: "fuld om ca. N dage" from a least-squares line over 14 days of
SQLInsight's own samples, only since the volume last changed size, with sanity
bounds (history, samples, R², max one year).
- ServerEventAnalysis: noise filter, grouping and a 24-hour window for System and
Application events, like the SQL Server error log in 1.2.
- db/permissions/grant-windows-server.ps1: least-privilege rights for the agent's
account (groups, WMI namespaces, SCM read), never local administrator; filled in
by ServerGrantScript.
- Core/SyntheticChecks: kinds, settings, validation (read-only SQL), results.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>