Q: Why is it critical to enforce "Semantic Conventions" when setting up OpenTelemetry across dozens of microservices built by different teams?
If Team A tags their database queries as {"db.table_name": "users"}, Team B uses {"db_table": "users"}, and Team C uses {"sql.target": "u...
🛠️ Production Runbook & Step-by-Step Resolution
Production Solution & Architecture
If Team A tags their database queries as {"db.table_name": "users"}, Team B uses {"db_table": "users"}, and Team C uses {"sql.target": "users"}, creating a unified, company-wide dashboard to track database performance becomes impossible. You would have to write queries accounting for three different permutations. Semantic Conventions define a standardized naming scheme for spans, metrics, and attributes (e.g., standardizing on http.method and http.status_code universally). Enforcing this at the SDK layer ensures telemetry is completely uniform across Python, Go, and Java services, allowing SRE to build single "Golden Master" dashboards that work automatically for any service.
- Immediate Triage: If Team A tags their database queries as {"db.table_name": "users"}, Team B uses {"db_table": "
- Run targeted verification commands before modifying configuration.
- Automate permanent guardrails (CI check, alerts, IaC policy) to prevent recurrence.