Skip to content
Back to Stack Recommender

OpenTelemetry

OpenTelemetry — monitoring and observability platform.

MonitoringModerate

Stack Components

StandardOTel
SDKOTel SDK
ExportOTLP

Why

Detect, diagnose, and resolve issues before users notice them. OpenTelemetry became the CNCF instrumentation standard in 2024, used by 70%+ of cloud-native orgs.

Sentry and Datadog lead error tracking with 30k+ paying customers each.

When

Use for production systems needing uptime and performance visibility. Avoid for local dev-only projects.

How

1. Set up OpenTelemetry agent/SDK 2. Configure metrics/logs/traces 3. Create dashboards/alerts 4. Define on-call rotation

Example

// OpenTelemetry init import * as otel from 'opentelemetry'; otel.init({ dsn: 'https://...' });

Common Problems

  • ⚠OpenTelemetry high cardinality labels explode storage — limit label values
  • ⚠Alert fatigue from noisy rules — tune thresholds and routing
  • ⚠Configuration drift between environments — use infrastructure-as-code (Terraform/Pulumi) to keep dev/staging/prod identical

Best Practices

  • ✓Use SLO-based alerting with OpenTelemetry for meaningful alerts
  • ✓Sample traces to reduce {ne} cost while keeping coverage
  • ✓Set up health checks and graceful shutdown — handle SIGTERM to drain in-flight requests before exit

FAQ

What is OpenTelemetry and what projects is it for?

OpenTelemetry — monitoring and observability platform. It pairs layered technologies for end-to-end type safety and out-of-the-box deploys, fitting everything from MVPs to production SaaS.

How do I spin up a working demo with OpenTelemetry in 10 minutes?

Two steps: (1) Set up OpenTelemetry agent/SDK; (2) Configure metrics/logs/traces. Get the local dev server running, then wire one real data source to verify the end-to-end loop.

What is the most common pitfall with OpenTelemetry and how do I avoid it?

The most common pitfall is: OpenTelemetry high cardinality labels explode storage — limit label values. Avoid it by adding the matching checklist to your PR template and running type-check + lint + unit tests in CI — three gates before merge.

What are the best practices for OpenTelemetry?

Best practices for OpenTelemetry include: Use SLO-based alerting with OpenTelemetry for meaningful alerts; Sample traces to reduce {ne} cost while keeping coverage; Set up health checks and graceful shutdown — handle SIGTERM to drain in-flight requests before exit. The first one — "Use SLO-based alerting with OpenTelemetry for meaningful alerts" — should be set up at project init to avoid costly rework later.

When should I NOT choose OpenTelemetry?

Pick something else in three cases: (1) the team has zero experience with the core framework and the deadline is tight (learning-curve risk); (2) it's a pure content/marketing site (Astro is lighter); (3) you need very high throughput (>10k RPS) or strict-consistency microservices (Go/Rust). OpenTelemetry shines for mid-to-high complexity full-stack and API work — don't over-engineer simple static pages with it.