go.missing_tracing
Observability
Low
Detects code without distributed tracing instrumentation for observability.
Why It Matters
Section titled “Why It Matters”Without tracing:
- No visibility — Can’t see request flow across services
- Slow debugging — Can’t identify bottlenecks
- Missing metrics — No latency data per operation
Example
Section titled “Example”// ❌ Before (no tracing)func handleRequest(ctx context.Context) error { data := fetchData(ctx) return processData(data)}// ✅ After (with OpenTelemetry)import "go.opentelemetry.io/otel"
var tracer = otel.Tracer("my-service")
func handleRequest(ctx context.Context) error { ctx, span := tracer.Start(ctx, "handleRequest") defer span.End()
data := fetchData(ctx) return processData(ctx, data)}What Unfault Detects
Section titled “What Unfault Detects”- HTTP handlers without trace spans
- Database operations without spans
- Service calls without trace propagation