For years, observability tooling was fragmented. Each vendor shipped its own proprietary agent, its own data format, its own SDK. If you wanted to switch from one platform to another, you had to re-instrument your entire codebase from scratch. This was painful, expensive, and it locked engineers into vendor relationships they couldn't easily exit.
OpenTelemetry changes that. Born from the merger of OpenCensus and OpenTracing in 2019, it has matured rapidly into the industry-standard specification for generating, collecting, and exporting telemetry data โ traces, metrics, and logs โ from your applications.
Why now?
The v1.0 stable release of the OpenTelemetry specification landed in late 2021. Since then, the SDK implementations for major languages (Go, Java, Node.js, Python, .NET, Ruby) have all reached stability. The Collector โ the swiss-army-knife agent that can receive, process, and export telemetry to any backend โ is in production use across the industry, from small startups to the largest internet companies.
Adoption is accelerating. According to the CNCF's 2025 survey, OpenTelemetry was already the second-highest-velocity project in the entire CNCF ecosystem, behind only Kubernetes itself.
What this means for your team
Adopting OpenTelemetry means you are no longer betting on a vendor. Your instrumentation is portable. If you decide next year that you want to switch from Datadog to aiAxonIQ (or the other way around), you keep your instrumentation as-is and just change the exporter endpoint. The cost of migration drops from months of engineering work to a config file change.
It also means you can mix and match. Send traces to one backend, metrics to another, logs to a third โ all from a single instrumentation layer.
Getting started
The fastest path is to add the OpenTelemetry SDK to your application and point the exporter at your aiAxonIQ endpoint. For Node.js, this looks like:
import { NodeSDK } from '@opentelemetry/sdk-node';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
const sdk = new NodeSDK({
traceExporter: new OTLPTraceExporter({
url: 'https://ingest.aiaxoniq.com/v1/traces',
headers: { 'x-license-key': process.env.AIAXONIQ_LICENSE_KEY },
}),
});
sdk.start();From there, any library that has native OpenTelemetry support โ Express, Fastify, Prisma, Redis, gRPC โ will automatically emit spans without additional configuration.
The bottom line
OpenTelemetry is not a trend. It is infrastructure. Five years from now, writing proprietary instrumentation will feel as dated as hand-rolling your own HTTP client. If your team hasn't started migrating yet, now is the right time.