Skip to content

[rc1-prep] Delete in-tree components/exporters/otlphttp/ wrapper (superseded by upstream otlphttpexporter) #333

Description

@trilamsr

The v1.0-rc1 simplification audit
(docs/v1-rc1-simplification-audit.md)
identified components/exporters/otlphttp/ as a zero-risk deletion
candidate. The package is not wired through the OCB binary —
builder-config.yaml line 59 brings in
upstream go.opentelemetry.io/collector/exporter/otlphttpexporter v0.130.0 instead. The in-tree wrapper has no Go importers outside
its own _test.go files.

Per docs/followups/otlphttp.md:

wrapper-touching items become [STRIKE] — upstream
otlphttpexporter already provides these surfaces, and the
wrapper's audit trail closes when the wrapper is deleted.

Numbers

  • Total LOC: 2,904 across 11 files (find components/exporters/otlphttp -name "*.go" | xargs wc -l)
  • Non-test LOC: 1,168
  • External Go importers: 0 (grep -rln 'github.com/tracecoreai/tracecore/components/exporters/otlphttp' --include="*.go" . | grep -v components/exporters/otlphttp/)

Verification steps before deletion

  • Confirm _build/components.go does not reference the in-tree
    wrapper (currently it does not)
  • Confirm make build still produces a working _build/tracecore
    after the directory is removed
  • Confirm make ci passes (no test under ./... imports the wrapper)
  • Confirm make coverage-check still passes after dropping the
    components/exporters/otlphttp coverage row (the upstream
    exporter is not policed for coverage)
  • Update docs/FAILURE-MODES.md test
    citations that point at wrapper tests
    (components/exporters/otlphttp/otlphttp_test.go::TestExporter_RetriesOnNetworkError,
    etc.) — re-point to upstream otlphttpexporter upstream tests
    or move the failure-mode rows to "covered upstream"
  • Update docs/README.md to drop the wrapper
    README row (line 77)
  • Update docs/STRATEGY.md §"Each component
    owns its own Factory var" if it references the wrapper
  • Mark every [STRIKE] item in docs/followups/otlphttp.md as
    satisfied (or delete the shard outright if every row is [STRIKE])
  • Remove the components/exporters/otlphttp/** triggers from
    .github/workflows/install-bench.yml lines 16, 26
  • Run register-lint (make register-lint) to confirm no
    stale-allowlist row needs removing
  • Update MILESTONES.md M5 row if it cites the
    in-tree wrapper

Risk score

1 (zero risk). No Go importers, no operator-visible surface,
upstream replacement already in the OCB build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions