Skip to main content
← Back to list
01Issue
BugShippedSwamp CLI
Assigneesstack72

Relationships

#1163 OTel setup manual example (OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317) cannot work — exporter is OTLP/HTTP-only, needs port 4318

Opened by magistr · 7/15/2026· Shipped 7/15/2026

The how-to at /manual/how-to/set-up-opentelemetry shows:

OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

But swamp's tracer (src/infrastructure/tracing/otel_init.ts) builds a fetch-based OTLP/HTTP exporter (FetchOtlpExporter) that POSTs to ${endpoint}/v1/traces. There is no gRPC exporter, and OTEL_EXPORTER_OTLP_PROTOCOL is never read.

Port 4317 is the OTLP/gRPC port; OTLP/HTTP is 4318. So pointing swamp at :4317 makes it HTTP-POST to a gRPC listener and every span is silently dropped (no error logged).

Verified empirically against a stock otel/opentelemetry-collector-contrib collector (otlp receiver, grpc+http):

  • OTEL_EXPORTER_OTLP_ENDPOINT=http://:4318 -> spans arrive in ClickHouse
  • OTEL_EXPORTER_OTLP_ENDPOINT=http://:4317 -> nothing arrives, exit 0, empty stderr

Requested fix:

  1. Change the manual example to http://localhost:4318.
  2. Document that swamp is OTLP/HTTP-only: the endpoint is a base URL to which /v1/traces is appended, and OTEL_EXPORTER_OTLP_PROTOCOL is ignored.
  3. Optional: warn when the configured endpoint host:port looks like the gRPC port (4317).

swampVersion: 20260711.014414.0-sha.c3fd7b11

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 4 MOREREVIEW+ 3 MOREPR_MERGED+ 1 MORECONTRIBUTOR_NOTIFIED

Shipped

7/15/2026, 11:12:30 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack727/15/2026, 10:37:25 PM
Editable. Press Enter to edit.

stack72 commented 7/15/2026, 11:14:11 PM

Thanks @magistr for reporting this! The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.