BetaFree-to-use OpAMP fleet management for Windows & LinuxQuick Start →
Back to Blog
Architecture & Strategy · Part 2

Every Vendor Supports OTLP. None Ship Each Other's Exporters.

What's really running in your agent and gateway tiers, and what it would take to switch backends next year.

CollectorCtrl Team• October 12, 2026• 9 min read

Somewhere in almost every OpenTelemetry rollout there's a slide that says: “We've standardized on OpenTelemetry. We're vendor-neutral.”

It's easy to see why. OTLP is open, every big backend accepts it, and even your vendor's own collector ships an OTLP exporter. So where's the lock-in?

In our last post we argued that owning the control plane is what makes neutrality real. This time we want to test that slide against how teams actually run telemetry today, using nothing but the vendors' own documentation.

The short version: OTLP makes switching possible. It doesn't make it a config change. If you've told leadership otherwise, you'll be the one answering for it during the next migration.

To keep it simple, we'll stick to four vendors most of you run or evaluate: Datadog, Dynatrace, Elastic and Grafana Labs. All four were named Leaders in the July 2026 Gartner® Magic Quadrant™ for Observability Platforms. And we'll stay strictly on the data plane: agents, collectors and instrumentation. Dashboards, alerts and keeping your data consistent deserve their own post (that one's about semantic registries).

01

Everyone runs the same shape

Pick any of these vendors and their docs land you in roughly the same place: a light agent on every host or node, and a central gateway tier that batches, samples and forwards to the backend.

Your apps
SDK or auto-instrumentation
Agent
On every host or node
Which binary?
Gateway
Batch, sample, filter, route
Which binary?
Vendor backend
Where you pay for data & features

The shape isn't the problem. The real question is which binary is sitting in those two boxes, because that decides how hard it is to leave.

02

Three kinds of data plane

In practice, the agent and gateway tiers run one of three things:

What it is

The same upstream collector, rebuilt by a vendor with a hand-picked component list, a support contract, and defaults tuned for their backend.

Datadog DDOTDynatrace OTel CollectorElastic EDOTGrafana Alloy
Ease of switching backends50%
Config + rework, often a binary swap. It's open source underneath. How portable it is depends on what's in the component list.
Click a card. The meter is our judgement of effort, not a benchmark.

Most large estates run all three at once: vendor agents on older VMs, a vendor distribution on newer Kubernetes clusters, and a platform team quietly running contrib somewhere. Option B is the one that gets mistaken for neutrality, so let's open the box.

03

What's actually in the box

Here's every vendor distribution's exporter list, mapped against the places you might want to send data. We've added upstream contrib at the bottom for comparison. Click any cell to see what it means and the evidence behind it.

Swipe sideways to see every destination →
You run ↓ / You want to send to →DatadogdatadogElasticelasticsearchGrafana stackprometheus · lokiSplunksplunk_hecDynatrace / any OTLPotlp · otlphttp
DDOT CollectorDatadog
Dynatrace OTel CollectorDynatrace
EDOT CollectorElastic
AlloyGrafana Labs
otelcol-contribUpstream, for reference
Vendor's own exporter, supportedGeneric OTLP: works, not like-for-likePresent, but community-only, no vendor supportNot shipped in this distributionShipped upstream, no single vendor supports the build
DDOT Collector → ElasticNot shipped in this distribution

There's no elasticsearch exporter in DDOT Collector. To get Datadog's collector talking to Elastic, you have three options:

① Fall back to OTLP
Works if Elastic accepts OTLP for your use case. Whatever the native exporter adds on top is lost.
② Add the component yourself
Rebuild the Datadog Agent image with your own collector manifest, and redo it on every Agent upgrade.
③ Replace the collector
A new binary on every agent and gateway. That's a fleet rollout, not a config change.
“this build process must be repeated each time you update the Agent version”
Datadog docs ↗
Click any cell. Exporter lists are taken from each vendor's published component documentation as of October 2026; distributions change, so check the linked lists before you decide.

Three things jump out:

01
OTLP is the only column that's the same everywhere
That's a genuine achievement. Five years ago you couldn't say this about any protocol. Credit where it's due.
02
No vendor ships a competitor's native exporter
Each distribution carries its own vendor's path, plus OTLP. Nothing else from the other three.
03
Adding one means leaving the supported build
Datadog: rebuild on every Agent upgrade. Dynatrace and Elastic: support stops at what they ship. Alloy: community-only.

None of this is bad behaviour. A vendor supports what it tests, and that's fair. But it means “our collector supports OTLP” is a statement about one exporter, not about portability.

04

“Fine, we'll just use OTLP.” Not so fast.

OTLP gets the data there. It doesn't guarantee the data lands the same way. A few examples straight from the docs:

Dynatrace
Delta metrics only
cumulative→delta
“The Dynatrace backend exclusively works with delta values.” Cumulative counters and histograms aren't ingested, and most Prometheus-style pipelines are cumulative.
Datadog
Direct OTLP is the fallback
Agent / Collectordirect OTLP
Datadog recommends sending “through a Datadog Agent or OpenTelemetry Collector” and using direct intake “when deploying a Collector or Agent is not feasible.”
Everyone
Different limits, different shapes
50 dims512 KiBbuckets
Dynatrace caps data points at 50 dimensions by default and drops exponential-histogram buckets. Datadog caps direct metric payloads at 512 KiB compressed. Same protocol, different rules.

Each one is a small fix on its own: a processor here, a batch-size change there. Across a fleet of thousands of collectors, though, “small” adds up to a project.

05

So, how neutral are you really?

This is the question leadership actually cares about: if we had to move backends next year, is it a config change or a re-platforming? Find your setup below and click it to see what moving would involve.

config change config + rework swap binaries / SDKs re-platform
What moving to another backend looks like
  1. 1Swap the exporter and credentials at the gateway tier.
  2. 2Handle the new backend's quirks in processors (temporality, limits, attribute names).
  3. 3Roll out to gateways only. Agents keep sending OTLP and never notice.
contrib component manifest ↗

Nobody gets five dots. Even the most open setup still has to deal with the new backend's quirks.

Switch to the Instrumentationtab and the picture gets worse. Collectors are the visible half. Instrumentation is where migrations really slow down, because it touches every application team. Changing a collector is a platform team's job. Changing a tracer means a redeploy for every service you own.

The pattern is the same at both layers: the API may be open, but the default path isn't.

06

“But we have a telemetry pipeline”

Plenty of organizations add a pipeline layer between agents and backends, using products like Cribl, Edge Delta and others, specifically to reduce lock-in risk. It's a reasonable move, so let's be fair about both sides.

What a pipeline really gives you
  • +A routing point you control. Dual-writing to old and new backends during a migration gets much easier.
  • +One place for filtering, reduction and enrichment.
  • +Real value if the same streams also feed your SIEM, archive or data lake.
What usually isn't on the slide
  • −Another licence, often priced on volume. Telemetry volume only goes one way.
  • −Another tier to run: HA, upgrades, capacity, its own config language and skills.
  • −Egress on raw data if the reduction happens in someone else's cloud.
  • −It doesn't touch the edge. Vendor agents and SDKs are still on your hosts and in your apps.

The egress point is easy to miss, so here it is visually. Toggle between the two and watch what leaves your network:

Your network
Agents → Gateway
Leaves your network
(you pay egress on this)
100 units
Pipeline vendor's cloud
✂ Filter · sample · aggregate
→ Backend receives 40

You ship the raw volume out first, then throw 60% of it away. You paid egress on the part you discarded.

Illustrative numbers; real reduction ratios vary a lot. Many pipeline products, Cribl for example, also offer customer-managed (hybrid) workers that run inside your network.

And the licence question deserves an honest spreadsheet. A pipeline licence is an ongoing premium to insure against a migration you might do once every few years. Over three to five years, how does that premium compare to the one-time professional-services bill for the migration itself? We can't answer that for you. Prices vary too much to quote fairly. But it's worth asking before the pipeline becomes the neutrality story.

A pipeline can be the right call. It just isn't neutrality on its own. It's another dependency, chosen on purpose.

07

Before you put “vendor-neutral” on the slide

We don't think vendor neutrality is a myth. But right now, for most teams, it's closer to a hope than a fact. OTLP is the foundation. It isn't the house.

Next time a vendor tells you they're “fully OpenTelemetry-native”, these are worth asking. Tick the ones you can already answer with confidence:

Tick the ones you can already answer with confidence.
And one for the vendors
If OpenTelemetry is the standard, why does leaving any of you still take a migration project?

We'd genuinely like to hear the answer, from vendors and from teams who've been through a migration.


Sources & evidence (20 links)

Missed part 1? If You Don't Own the Control Plane, You're Not Vendor-Neutral →

Gartner and Magic Quadrant are registered trademarks of Gartner, Inc. and/or its affiliates. Component lists reflect each vendor's public documentation as of October 2026.