[GUI] Monitor: the Mac's gpu_note is never shown, so GPU temp, Power and PCIe are a bare or empty "–"

Open Beginner friendly
#5,457 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 4 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
javascript, macos
Domain
frontend

Research direction

Start in serve/web/app.js around the Monitor card subtitle near line 485, then check how gpu_note is rendered near line 589 and inspect the /metrics payload. Show the note alongside the GPU readings when it is present, regardless of gpu_name; verify on the Mac path that the note explains the GPU temperature, Power, and PCIe dashes.

Written by the indexing model from the issue text.

Description

Area
[GUI] (the desktop app)

What happened
On a Mac the Monitor tab's GPU temp, Power and PCIe cards show a dash with no explanation anywhere in the UI.

serve/telemetry.py (the _Metal reader) does define the reason as a static gpu_note:

no GPU temperature or power reading without root (powermetrics), and an Apple Silicon GPU sits on the die, so there is no PCIe link to show; the engine's own figures are in its log

GET /metrics returns it - hardware_static.gpu_note carries the text, while history.gpu_temp and history.gpu_power are null for every sample. But serve/web/app.js only renders gpu_note where gpu_name is empty (the card subtitle around line 485, and the About > GPU line around line 589). On a Mac gpu_name is "Apple M5 Max", so the note is unreachable: the user sees three silent dashes.

#2360 added the note exactly so these dashes would be explained ("the cards show a dash and static gpu_note says why"); on the Mac path they still are not. Same shape as #3157, where the missing "backend": "hip" left five blank tiles and no hint why.

Expected: the reason shows up where the dash is (card subtitle or a tooltip), whether or not the card has a name. Actual: the reason exists in the payload but no view ever shows it.

The screenshot below is taken during a request: Model state Generating at 66.7 tok/s decode, GPU load 95 %, VRAM 82.8 of 122 GB in use - and GPU temp, Power and PCIe are still a dash, with no word about powermetrics being the reason.

Image

Smallest steps or command that reproduce it
Start any Metal model on a Mac: ./setup.sh
Open http://:8080/#monitor - GPU temp, Power and PCIe read "–", nothing says why.
curl -s http://:8080/metrics | grep -o '"gpu_note":"[^"]*"' - the explanation is there, and history.gpu_temp / history.gpu_power are all null.
Reproduction status
Reproduced locally.

Strata version
0.2.11 (source, main at 54828c7e) · engine 0.1.56-metal

Graphics card, memory and system
Apple M5 Max · 128 GB unified memory · macOS 27.0.1

Model, size and settings
Qwen3.8-Flash-Next UD-Q4_K_XL · 262144 context · pictures on

Suggested fix
Show hardware_static.gpu_note next to the dashes (card subtitle or tooltip) independently of gpu_name. #5016 would fill the cards themselves with real readings; this only makes the present state self-explaining until or unless that lands.

Refs #2360, #5016, #3157

Dominant language
C++
Stars
11.6k
Forks
1k
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Niko1221/Strata

All issues in Niko1221/Strata

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.