Endpoint Experience & Experience Score

Beyond raw CPU, memory and disk usage, the Resource Metrics view of every machine answers the question a user actually asks: why is my computer slow? Six boxes show memory pressure, CPU saturation, per-drive latency, app crashes and hangs, how long the last logon took, and a single 0–10 experience score that rolls them up. Everything runs on your own server — nothing leaves the network.

Where to see it#

Open a machine from the Agents list and choose Resource Metrics under Performance in the agent detail view. The new boxes sit below the CPU, memory and disk cards and update live while the page is open — no reload needed.

Agent versions. The boxes need a current agent: Windows 1.2.166, Linux 1.2.144 or macOS 1.2.151 or later; crash counts need Linux 1.2.148 / macOS 1.2.154, and logon timing needs Windows 1.2.171. An older agent shows "Needs agent … or later" in the box; a value the machine does not report shows "Not reported by this agent yet" — never a misleading 0. Update agents with a staged rollout.

The six boxes#

BoxWhat it shows
Memory PressureCommitted memory against the commit limit (RAM plus page file), page file or swap use, and hard faults per second. High commit with many hard faults means the machine is paging to disk. Warns at 80 % commit, critical at 95 %. Linux adds the memory stall percentage; macOS shows its free-memory level.
CPU SaturationThreads ready to run but waiting for a CPU, per logical core, with the current clock against the base clock and a Throttled flag. More than 2 queued per core means work is queuing. Linux adds CPU stall; macOS uses the 1-minute load average.
Disk per DriveLatency, IOPS and throughput of each drive, with a latency bar per drive (warn 20 ms, critical 50 ms).
App Crashes & Hangs (24 h)How many applications crashed or stopped responding in the last 24 hours, and the five apps that did it most. On Windows from the Application Error / Application Hang events; on Linux and macOS from the system's crash reports. Hangs are reported on Windows only.
Logon DurationHow long the last logon took, by whom and when, split into Logon, Profile, Group Policy, Shell and Other — plus the previous logon and the 7-day median. Windows only.
Experience ScoreA 0–10 ring (green from 7, amber from 5, red below 5), a 7-day trend of the daily average, and one chip per input so you can see what pulled the score down.

How the experience score works#

Each input scores 10 at its good bound or better, 0 at its bad bound or worse, and linearly in between. The score is the weighted average of the inputs the machine reports, rounded to one decimal.

InputMeasureGood / bad (default)Weight
LogonLast logon duration15 s / 90 s25
App stabilityApp crashes + hangs in 24 h0 / 1025
ResponsivenessThe worst of run queue per core (1 / 4), memory commit (70 % / 100 %) and hard faults per second (50 / 1000), as a 10-minute averagesee measure25
DiskWorst drive latency, 10-minute average10 ms / 100 ms15
NetworkRound trip to the server, measured by the server once a minute30 ms / 300 ms10

Tuning the score#

Go to Settings → Monitoring → Experience Score to change the five weights (0–100 each) and the good/bad bounds, then Save. Changes apply at once to every machine and are recorded in the audit log; Reset to defaults restores the table above. Only an administrator can view or change these settings. The form refuses a weight outside 0–100, weights that add up to 0, or a good bound that is not better than its bad bound.

Alerting on experience#

Monitors can use a Performance field category: Performance.ExperienceScore, Performance.LogonSeconds, Performance.CrashesAndHangs24h, Performance.WorstDriveLatencyMs, Performance.CommitPct and Performance.NetworkRttMs. A machine that does not report a value is not applicable, never a failure. Four ready-made monitors are included, switched off until you enable them (each checks every 15 minutes and fires after 2 failures):

History#

Athena keeps a short history where a box needs one: every logon with its phases, each day's crash and hang counts, and each day's average experience score. It is kept for 7 days by default and is removed with the agent.

REST API#

EndpointPurpose
GET api/agents/{id}/performanceLatest values, plus experienceScore and scoreInputs (input, value, sub-score, weight). Samples include experience.score and net.rtt_ms.
GET api/agents/{id}/performance/history?key=&days=Stored history, oldest first — keys such as logon.total_ms, apps.crashes_24h, apps.hangs_24h, experience.score.
GET / PUT api/settings/experience-scoreRead or save the weights and bounds (administrators).
POST api/settings/experience-score/resetRestore the defaults (administrators).

Reading a machine's performance requires the inventory.view permission.

PowerShell#

# Latest experience score sample for one machine
Get-AthenaAgentPerformance -AgentId $id -Key experience.score

# Every stored logon of the machine
Get-AthenaAgentPerformanceHistory -AgentId $id -Key logon.total_ms

# Last three days of every history key for matching machines
Get-AthenaAgent -Hostname "PC-5*" | Get-AthenaAgentPerformanceHistory -Days 3