diff --git a/Taskfile.yml b/Taskfile.yml index 46a7bf8..abe5f4a 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -119,6 +119,8 @@ tasks: dev-run: desc: Run receiver locally against dev stack + deps: + - up env: CAATSM_NATS_URL: nats://localhost:4222 CAATSM_NATS_MODE: jetstream @@ -129,6 +131,8 @@ tasks: GO_ENV: dev cmds: - | + echo "Ensuring observability stack is healthy (Jaeger @ http://localhost:16686)" + docker compose -f docker-compose.dev.yml ps jaeger otel-collector >/dev/null echo "Running receiver with telemetry (mode=${CAATSM_NATS_MODE:-core})" CAATSM_NATS_MODE=${CAATSM_NATS_MODE:-core} \ go run ./cmd/main listen diff --git a/configs/config.dev.toml b/configs/config.dev.toml index de1c3b0..31878d3 100644 --- a/configs/config.dev.toml +++ b/configs/config.dev.toml @@ -52,6 +52,6 @@ level = "info" format = "json" [telemetry] -enabled = false -endpoint = "otel-collector:4318" +enabled = true +endpoint = "localhost:4318" insecure = true \ No newline at end of file diff --git a/configs/otel-collector.dev.yaml b/configs/otel-collector.dev.yaml index ce6d975..6ce9efd 100644 --- a/configs/otel-collector.dev.yaml +++ b/configs/otel-collector.dev.yaml @@ -10,7 +10,7 @@ exporters: logging: loglevel: info otlp/jaeger: - endpoint: jaeger:14250 + endpoint: jaeger:4317 tls: insecure: true diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 6b229eb..5b148ad 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -82,6 +82,8 @@ services: OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4318 otel-collector: + # Receives OTLP HTTP(4318)/gRPC(4317) traffic from the host dev app. + # Forwarding of traces/metrics is defined in configs/otel-collector.dev.yaml. image: otel/opentelemetry-collector-contrib:0.99.0 command: - "--config=/etc/otelcol/config.yaml" @@ -105,6 +107,12 @@ services: environment: COLLECTOR_OTLP_ENABLED: "true" LOG_LEVEL: debug + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://localhost:16686 2>/dev/null | grep -q Jaeger"] + interval: 10s + timeout: 3s + retries: 6 + start_period: 5s networks: - devnet