Skip to content

Add Arize Phoenix LLM observability exporter - #131

Merged
whatever merged 1 commit into
feat/cwpro-machine-modefrom
feat/arize-observability
Aug 6, 2026
Merged

Add Arize Phoenix LLM observability exporter#131
whatever merged 1 commit into
feat/cwpro-machine-modefrom
feat/arize-observability

Conversation

@whatever

@whatever whatever commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds ArizeExporter(SpanExporter) that batches and ships spans to Arize Phoenix via OTLP/HTTP
  • Auto-enabled when ARIZE_API_KEY + ARIZE_SPACE_ID env vars are set
  • ObservabilityIntegration emits llm_call spans on every COST_UPDATE event with model, token counts, cost, and provider metadata
  • Background worker thread handles batching/flush (non-blocking to agent pipeline)
  • Graceful degradation: no-op when credentials absent, logged warnings on export failure

Stack

Part 4 of:

  1. Wire context summarizer into hunter loop #127 — context shortener node
  2. feat(sandbox): Add kubernetes sandbox support #126 — kubernetes sandbox
  3. Add cwpro model_aliases routing and machine-mode parameters #130 — cwpro machine-mode
  4. this PR — Arize observability

Configuration

Env Var Purpose
ARIZE_API_KEY Arize API key (required)
ARIZE_SPACE_ID Arize workspace ID (required)
ARIZE_ENDPOINT Override ingest URL (default: https://app.phoenix.arize.com)
ARIZE_PROJECT_NAME Project name in Arize (default: "clearwing")
ARIZE_BATCH_SIZE Spans per batch (default: 20)

Test plan

  • Unit tests: OTLP format, env wiring, span emission, disabled state (7 tests)
  • Integration: set env vars and run a sourcehunt to verify spans appear in Arize dashboard

@whatever
whatever force-pushed the feat/arize-observability branch from 1c7b790 to 804de13 Compare August 5, 2026 19:38
@whatever
whatever force-pushed the feat/arize-observability branch from 804de13 to 32e818d Compare August 5, 2026 20:36
@whatever
whatever force-pushed the feat/arize-observability branch from 32e818d to d40bb3f Compare August 5, 2026 20:44
@whatever
whatever force-pushed the feat/arize-observability branch from d40bb3f to 7dbad86 Compare August 5, 2026 20:52
@whatever
whatever force-pushed the feat/arize-observability branch from 7dbad86 to 775c484 Compare August 5, 2026 20:58
@whatever
whatever force-pushed the feat/arize-observability branch from 775c484 to 3c9b69e Compare August 5, 2026 21:04
@whatever
whatever marked this pull request as ready for review August 5, 2026 21:14
@whatever
whatever force-pushed the feat/arize-observability branch 15 times, most recently from 8404172 to 016c07e Compare August 6, 2026 00:11
Use opentelemetry-exporter-otlp-proto-http for batching, serialization,
and transport instead of hand-rolling OTLP JSON + background worker.
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.

2 participants