Skip to content

Observability: base LLM tracing service (Arize Phoenix) with prompt/response inspection #4

Closed

Description

@prometheusgr

Tracing: every agent run captured as a tree — user input → LLM call(s) → tool calls → final output, with latency, token counts, and cost per span.
Prompt/response inspection: click into any trace and see the exact prompt sent to llama-server, what came back, what tools fired.
Clustering/search over historical traces — this is the piece that matters for the tool-mining idea from before.
Evaluation hooks: score traces (LLM-as-judge, human annotation, or custom scorers) to track quality over time, not just latency/cost.
Self-hostable — both matter for your air-gapped constraint, but with different footprints (below).

Current tech choice leans toward Arize Phoenix.

Activity

  1. prometheusgr commented on Aug 31, 2026

    @prometheusgr
    OwnerAuthor

    Breaking this into slices per the project's thin-vertical-slice discipline (see AGENTS.md Definition of Done — "no unresolved scope creep").

    This issue (#4) is now scoped to just the base tracing slice:

    • Stand up Arize Phoenix as a self-hosted docker-compose service (and later a K8s manifest in Phase 5, same pattern as doc-search)
    • Instrument the LangGraph chat agent (OpenInference auto-instrumentation over OTel) so every chat turn is captured as a trace tree: user input → LLM call(s) → tool call(s) → final output, with latency and token counts per span
    • Prompt/response inspection: click into a trace in the Phoenix UI and see the exact prompt sent to llama-server, the response, and which tools fired
    • docs/OBSERVABILITY.md covering what's captured, how to view it, and air-gap vendoring notes for the Phoenix image

    Split into separate follow-up issues (each depends on this slice landing first):

    Cost-per-span from the original bullet list is covered by #31, not this issue.

  2. changed the title [-]Add an LLM Observability Sevice[/-] [+]Observability: base LLM tracing service (Arize Phoenix) with prompt/response inspection[/+] on Aug 31, 2026
  3. prometheusgr commented on Aug 31, 2026

    @prometheusgr
    OwnerAuthor

    One more split-off, caught during planning: #32 — configurable trace retention (session-only / N days / forever, same pattern as the existing conversation/knowledge-base/API-key retention windows). This repo has a hard expectation that every persisted store gets a retention policy (Phase 4b) — traces are no exception, but they live in Phoenix's own storage (not the eaistack Postgres DB this repo's retention sweep owns), so purging them needs a different mechanism than the existing sweep's direct DB deletes. Scoped separately rather than blocking this slice on verifying Phoenix's deletion API, but tracked to land immediately after #4, ahead of #29/#30/#31, since trace data starts accumulating the moment #4 merges.

  4. added a commit that references this issue on Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions