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#
| Box | What it shows |
|---|---|
| Memory Pressure | Committed 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 Saturation | Threads 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 Drive | Latency, 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 Duration | How 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 Score | A 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.
| Input | Measure | Good / bad (default) | Weight |
|---|---|---|---|
| Logon | Last logon duration | 15 s / 90 s | 25 |
| App stability | App crashes + hangs in 24 h | 0 / 10 | 25 |
| Responsiveness | The worst of run queue per core (1 / 4), memory commit (70 % / 100 %) and hard faults per second (50 / 1000), as a 10-minute average | see measure | 25 |
| Disk | Worst drive latency, 10-minute average | 10 ms / 100 ms | 15 |
| Network | Round trip to the server, measured by the server once a minute | 30 ms / 300 ms | 10 |
- An input the machine does not report (for example logon on Linux and macOS) shows n/a, is left out, and the other weights are re-balanced — it never counts as 0 or 10.
- If less than half of the total weight is present, the box says "Not enough data to score yet" instead of guessing.
- The network round trip needs no agent update: every agent version answers the server's check.
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):
- Performance: experience score below 5
- Performance: more than 5 app crashes and hangs in 24 h
- Performance: logon slower than 60 s
- Performance: worst drive latency above 50 ms
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#
| Endpoint | Purpose |
|---|---|
GET api/agents/{id}/performance | Latest 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-score | Read or save the weights and bounds (administrators). |
POST api/settings/experience-score/reset | Restore 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
Related#
- Resource Metrics & Performance — CPU, memory, disk, network and GPU usage.
- Monitoring & Alerts — turn a Performance field into an alert.
- Agent Details View — where the boxes appear.
- PowerShell Module — scripting against the server.