Instrument applications with OpenTelemetry SDK and validate telemetry using Kopai. Use when setting up observability, adding tracing/logging/metrics, testing instrumentation, debugging missing telemetry data, or when traces/logs/metrics aren't appearing after setup. Also use when users say things like "my traces aren't showing up", "I don't see any data", or "how do I add observability to my app".
100
100%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
| title | impact | tags |
|---|---|---|
| Configure Environment | CRITICAL | setup, env, config |
Impact: CRITICAL
Set environment variables for OTEL SDK to export telemetry to Kopai.
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
export OTEL_SERVICE_NAME=my-service| Variable | Value | Description |
|---|---|---|
| OTEL_EXPORTER_OTLP_ENDPOINT | http://localhost:4318 | Kopai collector endpoint |
| OTEL_SERVICE_NAME | your-service | Identifies service in telemetry |
Kopai accepts OTLP over HTTP only (port 4318). gRPC (port 4317) is not supported.
Some SDKs default to gRPC — if you see connection errors, check the protocol:
# Force HTTP protocol (needed for Go, Java, and other SDKs that default to gRPC)
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf| SDK | Default Protocol | Action Needed |
|---|---|---|
| Node.js | HTTP | None |
| Python | HTTP | None |
| Go | gRPC | Set OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf |
| Java | gRPC | Set OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf |
| .NET | HTTP | None |
| Rust | HTTP | None |
https://opentelemetry.io/docs/concepts/sdk-configuration/otlp-exporter-configuration/
rules