What is OpenTelemetry used for?
A practical overview of how teams use OTel for debugging, reliability, cost control, and migration away from vendor SDKs.
Logs, traces, and metrics: which signal answers which question?
A field guide to choosing the right signal when production is slow, broken, or noisy.
OpenTelemetry for small teams: what to collect first
A practical order of operations for logs, traces, metrics, host telemetry, and alerts.
OpenTelemetry best practices for production
Service naming, resource attributes, propagators, Collector placement, sampling, cardinality - the practices that separate clean OTel deployments from messy ones.
OpenTelemetry sampling strategies
Head vs tail sampling, parent-based samplers, and the Collector tail_sampling rules that keep errors and slow traces while dropping the rest.
OpenTelemetry Collector receivers: a practical guide
otlp, filelog, hostmetrics, kubeletstats, prometheus, jaeger, syslog, k8sevents - what each does and when to reach for it.
How to avoid noisy observability bills
Use collector filters, batching, service naming, and Data Shaper rules to control telemetry quality.
Service maps are useful when traces are clean
Why service maps depend on good span relationships, environment naming, and trace sampling discipline.
Datadog alternatives in 2026: an honest comparison
Eight Datadog alternatives compared by archetype, pricing model, and OpenTelemetry support - with a decision framework first.
Datadog pricing in 2026: where the bill actually comes from
A vendor-neutral breakdown of Datadog's seven pricing components and the three patterns that drive surprise bills.
OpenTelemetry logs: replacing your existing log pipeline
How OTel logs work, what they replace from Fluentd/Vector/Filebeat, three migration patterns, and the gotchas that bite teams switching.
OpenTelemetry metrics in production
Counter vs histogram vs gauge, the cardinality trap, exemplars for metric-to-trace correlation, and aggregation temporality.
Using Datadog with OpenTelemetry
Three integration paths (OTel Collector + datadog exporter, Datadog Agent OTLP receiver, DDOT Collector), what works the same, what works differently, and when pure OTel makes more sense.
Server monitoring with OpenTelemetry
Hostmetrics, nginx, postgresql, and httpcheck receivers turn the OTel Collector contrib into a drop-in replacement for traditional server-monitoring agents.
Prometheus, Grafana, and OpenTelemetry
Four real architectures teams use today, when to migrate between them, and where the pure-OTel path fits without throwing away Grafana.
OpenTelemetry-native backends vs Grafana Cloud
Three-store model (Mimir/Loki/Tempo) versus single-store OTel-native. Where each shape wins, where it loses, and a trial pattern that doesn't pick winners early.
Debug 500 errors with distributed tracing
A step-by-step incident runbook for production 500 errors using distributed tracing, Service Map, and trace-log correlation.
Why is my Node.js app slow?
Eight Node.js latency causes - event loop, GC, downstream, N+1, sync I/O, pool exhaustion, logging, async leaks - with the OpenTelemetry signal for each.
Why is my Python app slow?
Eight Python latency causes - ORM N+1, sync in async, GIL, cold imports, GC, logging, pool sizing - with the OpenTelemetry signal for each.
High memory usage on Linux? It's probably the page cache
Why free -h scares people, what MemAvailable actually means, and the two memory alerts worth setting - with the hostmetrics config to collect them.
Monitor Claude Code with OpenTelemetry
Claude Code exports OTel metrics and events natively - cost, tokens, sessions, edit accept rate. The env vars to enable it, what each claude_code.* metric means, and the five queries worth building.