Skip to content

Add Tracer service - #305

Merged
hhubert6 merged 32 commits into
mainfrom
hubertkasprzycki/voy-327-tracer-service-single-session-manager-with-pubsub-status
Oct 27, 2026
Merged

hhubert6 merged 32 commits into
mainfrom
hubertkasprzycki/voy-327-tracer-service-single-session-manager-with-pubsub-status

Conversation

@hhubert6

Copy link
Copy Markdown
Member

No description provided.

@hhubert6
hhubert6 added this pull request to stack #306 October 15, 2026 13:11
@hhubert6

Copy link
Copy Markdown
Member Author

@claude review

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @hhubert6's task in 1m 17s —— View job


🦀 Review

Severity: 🔴 blocking · 🟡 should-fix · 🟢 nit

  • 🔴 75% lib/voyager/services/tracer/config.ex:122 — pids: [nil] makes it through the {:array, :string} cast, then Voyager.Pid.parse/1 raises FunctionClauseError inside changeset/2 instead of returning a field error. Reject values that aren't binaries before parsing.
  • 🟡 75% lib/voyager/services/tracer/config.ex:86 — the agent's name is a hash of voyager_agent.erl only, and the refusal lists now live outside that file. Changing them no longer renames the agent, so nodes that already loaded it keep the old lists. Include agent_macros/0 in the digest, keeping the lists in a module that doesn't depend on Agent.
  • 🟢 90% lib/voyager/services/tracer.ex:6 — the moduledoc says stop/1; the function is stop/0.

<verdict: 1 blocking, 1 should-fix, 1 nit>

Comment thread lib/voyager/services/tracer/config.ex Resolved
Comment thread lib/voyager/services/tracer/config.ex Resolved
Comment thread lib/voyager/services/tracer.ex Resolved
@hhubert6

Copy link
Copy Markdown
Member Author

@claude review

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @hhubert6's task in 1m 25s —— View job


🦀 Review

No findings: the three earlier points are fixed and nothing new cleared the 60% bar.

@hhubert6
hhubert6 marked this pull request as ready for review October 16, 2026 13:35
Base automatically changed from hubertkasprzycki/voy-325-agent-session-based-trace-api to main October 16, 2026 13:39
@hhubert6
hhubert6 force-pushed the hubertkasprzycki/voy-327-tracer-service-single-session-manager-with-pubsub-status branch from 5b82607 to e1dbf14 Compare October 16, 2026 13:39

@GuzekAlan GuzekAlan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks solid 🐙

Comment thread lib/voyager/services/tracer.ex Resolved
Comment thread lib/voyager/services/tracer.ex Resolved
Comment thread lib/voyager/services/tracer.ex Resolved
Comment thread lib/voyager/services/tracer.ex Resolved
Comment thread lib/voyager/services/tracer.ex Resolved

@kraleppa kraleppa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, please address @GuzekAlan suggestions and we can merge

A batch that reports new drops, here or by the agent, and the run's end
append a :dropped entry with the count before the events that follow.
Dropped entries are capped with the trace events since a flood sheds a
batch at a time.
sessions/0 lists the sessions that can be read and entries/3 returns a page
of a session's entries from a seq on, oldest first. truncated? says the page
starts at or before an entry evicted from memory, so a reader knows the
history it got is incomplete.
start/1 resolves the configured pids on the node in the caller, like
configure/3, and passes the node and config it used; the Tracer refuses
with :changed if a configure replaced them in between. agent_args is gone,
so a session only needs its config to be started again.
…ault

active/0 returns just the session. entries/2 takes :since, :before and
:limit over [since, before): with :since a page reads forward oldest first,
for MCP; without it, the newest entries before :before come newest first,
for the UI. truncated? is true only when an evicted entry falls in the
range the page covers.
@hhubert6

Copy link
Copy Markdown
Member Author

@claude review

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @hhubert6's task in 1m 28s —— View job


🦀 Review

Severity: 🔴 blocking · 🟡 should-fix · 🟢 nit

  • 🟡 70% lib/voyager/pid.ex:28 — Config accepts #PID<0.X.Y> (parse/1 strips the prefix), but resolve/2 only matches a bare "<0.". That string parses as a local pid and fails with {:error, :invalid_pid} instead of being resolved on the node. Strip #PID before matching, or reject the prefix in Config.

  • 🦐 65% lib/voyager/services/tracer/session.ex:17 — yagni: save is stored and broadcast, but nothing reads it. Drop it and the create/2 :save option until the persistence work lands.

<verdict: 0 blocking, 1 should-fix, 0 nit, 1 ponytail · net: -3 lines possible>

Comment thread lib/voyager/pid.ex Resolved
Comment thread lib/voyager/services/tracer/session.ex Resolved
Drop sessions/0; listing saved sessions belongs in a query module.
The stop reasons and log entries get types.
@hhubert6

Copy link
Copy Markdown
Member Author

@claude review

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @hhubert6's task in 37s —— View job


🦀 Review

No findings: the #PID<0.X.Y> resolve is fixed, save was already raised, and nothing new in the struct and rename commits cleared the 60% bar.

@hhubert6
hhubert6 requested a review from GuzekAlan October 22, 2026 15:25
Comment thread lib/voyager/services/tracer.ex Resolved
Comment thread lib/voyager/services/tracer.ex Resolved
Comment thread lib/voyager/services/tracer/config.ex Resolved

@GuzekAlan GuzekAlan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks solid 🐙

Comment thread lib/voyager/services/tracer.ex Resolved
Comment thread lib/voyager/services/tracer.ex Resolved
@hhubert6
hhubert6 force-pushed the hubertkasprzycki/voy-327-tracer-service-single-session-manager-with-pubsub-status branch from 702275b to 5b0a982 Compare October 27, 2026 09:46

@srzeszut srzeszut left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐋

@GuzekAlan GuzekAlan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🐙

@hhubert6
hhubert6 merged commit 9ab5d7c into main Oct 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants