Skip to content

[codex] Normalize service telemetry rows - #4

Merged
philcunliffe merged 6 commits into
masterfrom
feat/normalized-service-telemetry-rows-v2
Apr 23, 2026
Merged

[codex] Normalize service telemetry rows#4
philcunliffe merged 6 commits into
masterfrom
feat/normalized-service-telemetry-rows-v2

Conversation

@philcunliffe

Copy link
Copy Markdown
Contributor

What changed

  • added OTLP protobuf ingestion for /v1/logs, /v1/traces, and /v1/metrics
  • normalized the services/<service>/ browse tree to one JSON row per log record, span, or metric data point
  • kept the top-level logs/, traces/, and metrics/ files as raw OTLP payload archives
  • preserved logs-by-service/ as a compatibility mirror for normalized logs
  • fixed the CLI to respect COLLECTIVUS_PORT and COLLECTIVUS_OUTPUT_DIR so launchd-managed desktop installs start cleanly
  • migrated previously written raw services/<service>/*.jsonl files into normalized rows on startup and preserved the old raw envelopes under services-raw/

Why

The desktop and webapp now browse telemetry by service. That browse path needs per-entry rows, not raw OTLP envelopes, or the UI loses the single-row log shape and can’t treat traces and metrics consistently.

At the same time, Gas City and other OTLP/HTTP clients were sending protobuf payloads, which the collector previously rejected with 415 Unsupported Media Type.

User impact

  • protobuf OTLP clients can now send logs, traces, and metrics to collectivus
  • the Telemetry UI can browse services/<service>/logs-*.jsonl, traces-*.jsonl, and metrics-*.jsonl as normalized row-oriented files
  • existing raw signal archives are still available under the top-level signal folders

Validation

  • npm run lint
  • npm test
  • npm run typecheck
  • live smoke-tested the launchd-managed listener on 127.0.0.1:4318

@philcunliffe
philcunliffe marked this pull request as ready for review April 23, 2026 21:58
@philcunliffe
philcunliffe merged commit 4986e27 into master Apr 23, 2026
6 checks passed
@philcunliffe
philcunliffe deleted the feat/normalized-service-telemetry-rows-v2 branch April 23, 2026 22:10
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