Repository navigation
Conversation
|
@claude review |
|
Claude finished @kraleppa's task in 1m 7s —— View job 🦀 ReviewSeverity: 🔴 blocking · 🟡 should-fix · 🟢 nit
<verdict: 0 blocking, 1 should-fix, 0 nit> |
There was a problem hiding this comment.
🟡 Changes recommended
Session creation can crash an open NodeInfoLive page, and the new tracing indicator links to a nonexistent session-viewer route.
3 open issues
What changed in this PR
Adds an active tracing-session indicator to Voyager’s app and settings topbars, keeping tracing activity visible across pages.
Changes:
- Adds a LiveView hook that tracks the running session through Tracer broadcasts.
- Displays tracing status, the traced function, trace counts, and a tooltip with session navigation.
- Adds tests for initial state, broadcast updates, formatting, and topbar integration.
| File | Description |
|---|---|
test/voyager_web/hooks/tracing_status_hook_test.exs |
Tests indicator visibility, updates, formatting, and integration. |
lib/voyager_web/router.ex |
Registers the tracing hook for app and settings sessions. |
lib/voyager_web/hooks/tracing_status_hook.ex |
Maintains the active tracing-session assign. |
lib/voyager_web/components/shell.ex |
Renders the indicator, tooltip, counts, and session link. |
lib/voyager_web/components/layouts.ex |
Passes tracing state into both topbars. |
Review effort: Balanced
I agree other states could be shown, but it depends on what the chip should mean. The issue scopes it to running, so I assumed that it warns about potentially heavy tracing is on. If we also show idle/stopped sessions, it becomes an "open session" indicator that stays until the user closes the session. I think both are useful, so I went with the second and kept the first visible:
Sessions that aren't configured yet stay hidden, since there's nothing to show or link to. cc @hhubert6 |
There was a problem hiding this comment.
🟡 Changes recommended
Synchronous trace-status calls can block page mounting, full-trace subscriptions add unnecessary load across open views, and the session indicator links to a placeholder rather than a session viewer.
3 open issues
3 resolved since last review
Review effort: Balanced
|
Review of Must fix1. The chip can link to the wrong node and send the user to the connect page (
Nice to have2. The chip can stay on "Tracing" after the Tracer restarts (
3. The chip ignores the Erlang syntax setting (
4. Hook tests still send the message by hand (
|
We could, but it would make our URLs inconsistent: a session traced on node A would live at I think sessions from a previously connected node need their own handling. Either Still, I'd prefer if the link details would be discussed during the implementation of the actual tracing view. Currently its temporary because those views does not exist. But what can be done in this PR is e.g. changing color of this chip in such cases to make sure that user will understand that given tracing session comes from different node. |



No description provided.