Skip to content

jonathancaleb/OpenTelemetry-Bridge-Sidecar

Repository files navigation

OpenTelemetry Bridge Sidecar

A transparent, drop-in reverse-proxy that adds W3C tracing to any HTTP service.

Why I’m building it

I’m tackling a personal challenge: give any legacy service modern observability without touching its code.
Right now I’m wiring it into a farmer photo-upload API I run in rural Uganda; on 2G links the uploads vanish into silent 502/504 holes while the NestJS monolith has zero tracing.
The sidecar sits unseen between phone and backend, measuring upload latency, body size, retry storms and error rates then ships everything over OTLP to any collector. No redeploy, no restarts.

Inspiration

The side-car pattern distilled by Mrinal in “All about Sidecar” plus OpenTelemetry research papers and claude backed breakdowns that help me understand complex concepts, scenarios, and the papers themselves.

Quick start

# 1. clone & build
git clone 
cd otel-bridge
go run ./cmd/bridge -upstream http://localhost:3000 -otlp localhost:4317 -listen :8080

# 2. send traffic
curl -X POST localhost:8080/upload -F "photo=@maize.jpg"

# 3. open Jaeger
open http://localhost:16686

bones

cmd/bridge          # main()
internal/proxy      # reverse-proxy core
internal/telemetry  # OTel tracer + meter providers
internal/config     # file/env hot-reloader
examples/           # NestJS mock + 2G HTML client
deployments/        # Dockerfile + K8s sidecar patch

Current focus

  • gRPC tracing
  • Prometheus /metrics endpoint
  • Back-pressure & circuit-breaker
  • TCP/UDP stream sampling

About

A Go reverse-proxy that adds W3C tracing to any HTTP service without code changes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors