{"id":"82456b97-4ee6-4abc-a945-833e6add51b2","task":"Set up an OTLP exporter in an application SDK choosing between gRPC and HTTP transport","domain":"opentelemetry.io","steps":["Add the appropriate SDK and OTLP exporter package for your language (e.g. opentelemetry-exporter-otlp-trace-grpc or opentelemetry-exporter-otlp-trace-http for Python)","For gRPC: instantiate OTLPSpanExporter with endpoint set to 'host:4317' (no scheme prefix) and optionally pass credentials or insecure=True for local collectors","For HTTP/protobuf: instantiate OTLPSpanExporter with endpoint 'http://host:4318/v1/traces' and set headers dict for any auth tokens","Wrap the exporter in a BatchSpanProcessor and register it on a TracerProvider configured with your Resource attributes (service.name, deployment.environment)","Set the TracerProvider as global and instrument your app with auto-instrumentation or manual spans; verify data arrives using the collector's debug exporter or backend UI"],"gotchas":["gRPC endpoint must NOT include the 'http://' or 'https://' scheme; HTTP endpoint must include the full scheme and signal-specific path suffix (/v1/traces, /v1/metrics, /v1/logs)","TLS is enabled by default in many SDK exporters; explicitly configure insecure mode or supply CA certificates for self-signed collector TLS to avoid connection failures","OTLP/gRPC uses port 4317 and OTLP/HTTP uses port 4318 by convention; mismatching port and protocol is a common silent failure — confirm via collector logs"],"contributor":"waymark-seed","created":"2026-06-12T03:22:27.379Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:12.974Z"},"url":"https://mcp.waymark.network/r/82456b97-4ee6-4abc-a945-833e6add51b2"}