[GH-ISSUE #8827] [Feature] Import OpenTelemetry OTLP traces as read-only distributed-trace Evidence #7765

Open
opened 2026-11-03 17:35:03 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @jayykernel on GitHub (Nov 3, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/8827

Problem

Reverse-engineering a distributed application often requires understanding how a request crosses service boundaries. REA can inspect individual artifacts and selected network captures, but retained OpenTelemetry traces are a useful offline source of parent/child span relationships, service boundaries, timing, status and instrumentation metadata. There is no focused general-purpose OTLP trace import request; the existing LLM inference-trace proposal (#3680) addresses a narrower domain-specific interpretation.

Proposed outcome

Add a read-only importer for caller-supplied OTLP trace exports (JSON and supported protobuf encodings).

  • Parse resource, scope and span records, including trace/span/parent IDs, timestamps, status, events, links and instrumentation scope.
  • Preserve service/resource attributes and span attributes with configurable allowlist/redaction; never assume arbitrary attributes are safe to expose.
  • Reconstruct parent-child relationships while explicitly representing missing parents, duplicate IDs, incomplete batches and out-of-order spans.
  • Derive duration and critical-path candidates only when timestamps and relationships support them; preserve clock-skew and missing-time uncertainty.
  • Correlate spans to caller-provided HTTP/network Evidence only when stable identifiers or explicit mapping evidence exists.
  • Preserve original artifact digest, encoding, source provenance and parser coverage.

Safety and limits

Offline only: do not connect to collectors, query observability backends or fetch linked resources. Bound input size, span count, attribute count and nesting. Redact common credentials, tokens, authorization headers and high-risk attributes by default. Never treat a trace as proof that an unrecorded operation did not occur.

Acceptance criteria

  • Fixtures cover JSON/protobuf exports, parent-child trees, links, events, missing parents, duplicate IDs, malformed records and partial exports.
  • Time calculations preserve raw timestamps and identify invalid or suspect intervals.
  • Redaction tests prove sensitive attribute values are not retained in default output.
  • CLI/MCP results retain input identity, provenance and explicit partial-coverage diagnostics.
  • Deterministic tests and docs cover supported OTLP versions/encodings and unsupported signal types.

Scope

General recorded-trace ingestion and structural analysis. Metrics and logs ingestion, live collector integration, and domain-specific LLM inference interpretation are out of scope.

Originally created by @jayykernel on GitHub (Nov 3, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/8827 ## Problem Reverse-engineering a distributed application often requires understanding how a request crosses service boundaries. REA can inspect individual artifacts and selected network captures, but retained OpenTelemetry traces are a useful offline source of parent/child span relationships, service boundaries, timing, status and instrumentation metadata. There is no focused general-purpose OTLP trace import request; the existing LLM inference-trace proposal (#3680) addresses a narrower domain-specific interpretation. ## Proposed outcome Add a read-only importer for caller-supplied OTLP trace exports (JSON and supported protobuf encodings). - Parse resource, scope and span records, including trace/span/parent IDs, timestamps, status, events, links and instrumentation scope. - Preserve service/resource attributes and span attributes with configurable allowlist/redaction; never assume arbitrary attributes are safe to expose. - Reconstruct parent-child relationships while explicitly representing missing parents, duplicate IDs, incomplete batches and out-of-order spans. - Derive duration and critical-path candidates only when timestamps and relationships support them; preserve clock-skew and missing-time uncertainty. - Correlate spans to caller-provided HTTP/network Evidence only when stable identifiers or explicit mapping evidence exists. - Preserve original artifact digest, encoding, source provenance and parser coverage. ## Safety and limits Offline only: do not connect to collectors, query observability backends or fetch linked resources. Bound input size, span count, attribute count and nesting. Redact common credentials, tokens, authorization headers and high-risk attributes by default. Never treat a trace as proof that an unrecorded operation did not occur. ## Acceptance criteria - [ ] Fixtures cover JSON/protobuf exports, parent-child trees, links, events, missing parents, duplicate IDs, malformed records and partial exports. - [ ] Time calculations preserve raw timestamps and identify invalid or suspect intervals. - [ ] Redaction tests prove sensitive attribute values are not retained in default output. - [ ] CLI/MCP results retain input identity, provenance and explicit partial-coverage diagnostics. - [ ] Deterministic tests and docs cover supported OTLP versions/encodings and unsupported signal types. ## Scope General recorded-trace ingestion and structural analysis. Metrics and logs ingestion, live collector integration, and domain-specific LLM inference interpretation are out of scope.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#7765
No description provided.