Protocols and standards

OTLP

OTLP, the OpenTelemetry Protocol, is the vendor-neutral wire format OpenTelemetry uses to carry traces, metrics and logs from an instrumented process to a collector or a backend. Its payloads are Protocol Buffers messages sent over gRPC or HTTP — as binary protobuf or its canonical JSON mapping — and it is a one-way export: the receiver acknowledges what it accepted and names what it rejected, and never sends telemetry back.

also called OpenTelemetry Protocol · OTLP/HTTP · OTLP over gRPC · OTel protocol

The problem OTLP solves is that telemetry used to be inseparable from its destination. Every vendor shipped an agent and a format, so changing backend meant re-instrumenting the application. OTLP splits the two: the code emits one format, and where it goes is a configuration change. An export carries records grouped under a Resource — the attributes describing what produced them, of which service.name is the one everything indexes on — and under an instrumentation Scope naming the library that emitted them. Three signals are stable: spans for traces, data points for metrics, and log records; profiling is a later addition and is not yet in the same state.

The transport details matter more than they look, because collectors act on them mechanically. gRPC defaults to port 4317 and HTTP to 4318, with the HTTP paths /v1/traces, /v1/metrics and /v1/logs. Content types are application/x-protobuf for binary and application/json for the protobuf JSON mapping, and a correct receiver answers in whichever encoding the request used. A partially bad batch is not rejected whole: the response carries a partial-success object counting rejected spans, data points or log records with an error message, so 3 malformed spans do not lose the other 4,997. And status codes carry a contract about retry — 400 and 415 are non-retryable, so an exporter drops the batch, while 429, 502, 503 and 504 are retryable, so it keeps the batch and honours Retry-After. Returning 400 where 503 belongs silently destroys the record; returning 503 where 400 belongs wedges the exporter’s queue on a batch that will never succeed.

For anyone using telemetry as evidence rather than as debugging output, the governing property of OTLP is that everything in the payload is self-reported. The resource attributes naming the service, the host, the deployment environment and, in some instrumentations, the end user, are all configuration on the sending machine. A receiver that files a record under a subject because the payload said so has built a system where any credential that can reach the port can write any subject’s history — which is materially worse than having no history, because a fabricated record is believed. Attribution has to come from the credential that carried the request, with the resource attributes kept as evidence about the exporter’s configuration rather than as fact about the world.

The second limit is about timing and cooperation. Telemetry arrives after the event, from a process the receiver does not control, and it can be sampled, batched, dropped on backpressure, or simply never sent — head sampling at one per cent is a normal production setting, and it means ninety-nine of every hundred spans do not exist anywhere. That makes OTLP an accurate record of what a cooperating process chose to report, and a poor record of what an uncooperative one did. The vocabulary worth keeping is the distinction between an event that was enforced, meaning a decision was taken in the request path and could have refused, and one that was merely recorded. Running a policy engine over ingested telemetry produces blocked verdicts against actions that already completed, which reads as enforcement in a report and is not — a false-enforcement reading that is more damaging than an honest gap.

Two mechanics follow from that in a receiver used for evidence. Redaction at ingest is irreversible rather than tokenised, because there is no downstream conversation to keep coherent and a reversible placeholder for a credential is a credential. And every bound in the decoder is explicit — records per export, traces opened per export, attribute nesting, string length, protobuf field count — because a telemetry endpoint accepts input from processes it does not administer, and an unbounded decoder on such an endpoint is a denial-of-service surface wearing an observability label.

in practice

The attribute that must not be believed

An exporter sends a log record whose resource attributes say service.name=payments-agent and enduser.id=alice@example.com. Both values came from environment variables on the sending machine, which the sending machine’s owner controls. If the receiver files that record under Alice’s history because the payload asserted it, then any holder of any valid ingest credential can write any person’s history, and the resulting record is exactly as convincing as a real one. The correct behaviour is to attribute the write to the bearer credential that carried the request, and to store the resource attributes as what they are — a claim about the exporter’s configuration, recorded as a claim. This is the same discipline as never reading a seat identifier out of a request body when the credential already names one.

not the same as

What otlp is routinely confused with

OpenTelemetry
OpenTelemetry is the whole project: an API, SDKs in a dozen languages, semantic conventions for attribute names, and the Collector. OTLP is only its wire protocol. You can instrument with OpenTelemetry SDKs and export in a vendor’s proprietary format, and you can emit OTLP from something that uses no OpenTelemetry SDK at all.
An audit record
A distributed trace is produced by the system it describes, for the purpose of debugging it, and is routinely sampled away. An audit record is produced at a decision point, is never sampled, and is meant to stand as evidence against the party that produced it. A trace tree written by the process under examination is a description, not testimony.
The OpenTelemetry Collector
The Collector is a deployable binary that receives, processes and forwards telemetry; OTLP is one of the formats it speaks, and the one it speaks by default in both directions. A backend that accepts OTLP directly needs no Collector, and a Collector can receive Jaeger or Prometheus and emit OTLP.
next

Related terms

EU AI Act

The EU AI Act is Regulation (EU) 2024/1689, which regulates AI systems placed on the market or used in the European Union in proportion to the risk they present, and which places materially different duties on the organisation that builds a system (the provider) and the organisation that uses it under its own authority (the deployer). It entered into force on 1 August 2024 and applies in stages: the prohibited practices from 2 February 2025, the general-purpose AI model obligations from 2 August 2025, and most remaining obligations, including those on high-risk systems listed in Annex III, from 2 August 2026.

Model Context Protocol (MCP)

The Model Context Protocol (MCP) is an open specification that lets an AI application connect to external tools, data and prompt templates through a uniform JSON-RPC 2.0 interface, so a capability written once can be called by any client that speaks the protocol. It defines how a client discovers what a server offers, how it invokes it, and how the two negotiate a dated protocol revision — and it deliberately says nothing about which caller is allowed to invoke which capability, which is left to the deployment.

NIST AI RMF

The NIST AI Risk Management Framework (AI RMF 1.0) is voluntary guidance published by the United States National Institute of Standards and Technology in January 2023 for identifying, measuring and managing the risks of AI systems across their life cycle. Its core organises that work into four functions — GOVERN, MAP, MEASURE and MANAGE — and, unlike a management-system standard, it carries no conformity or certification scheme, so an organisation adopts it and evidences its own adoption rather than being certified against it.

Protocols and standards

The terms next to this one

The substrate everything here conforms to, and the four regulatory instruments that decide what evidence an operator has to be able to produce.

get in touch

Definitions are the easy part.

The glossary is written to be useful whether or not you ever buy anything. If you have got to the point of deciding how to implement one of these in your own estate, say what your agents do and you will get a straight answer about what it would actually take.

no form · no qualification step · no sales desk · the other three ways in