Is your feature request related to a problem? Please describe.
In distributed systems and microservice architectures, tracing a single business flow across multiple services can become difficult very quickly.
CloudEvents already provides very useful metadata such as id, source, type, and time, but during our implementation we noticed there is no standardized field dedicated to distributed request/event correlation.
Currently, teams often solve this differently by:
- embedding correlation identifiers into custom extensions
- mixing identifiers into fields like
source
- creating their own internal message contracts
This leads to inconsistent event structures between systems and makes interoperability and observability more difficult.
In practice, correlation tracking is one of the most common requirements when debugging distributed asynchronous systems.
Describe the solution you would like to see
I would like to propose introducing a standardized correlationId attribute (or similarly named field) into the CloudEvents specification.
Example:
{
"id": "event-id",
"source": "user-service/register",
"type": "user.registered",
"correlationId": "7f3d7c1b-...",
"time": "2026-05-28T10:00:00Z"
}
The goal would be to provide a consistent and interoperable way to trace a single logical flow across multiple services, events, and asynchronous operations.
This could improve:
- distributed tracing
- observability
- log aggregation
- debugging experience
- interoperability between systems and tooling
Additional context
While working on redesigning our internal messaging contract, we took inspiration from CloudEvents and found ourselves independently adding a dedicated correlationId field for observability purposes.
Having both:
source → where the event originated
correlationId → which distributed flow the event belongs to
turned out to be extremely useful both for humans reading logs and for observability platforms handling aggregation/indexing.
I understand extensions already allow custom fields, but because correlation tracking is such a common distributed systems concern, I think standardizing it could provide value across the ecosystem.
Is your feature request related to a problem? Please describe.
In distributed systems and microservice architectures, tracing a single business flow across multiple services can become difficult very quickly.
CloudEvents already provides very useful metadata such as
id,source,type, andtime, but during our implementation we noticed there is no standardized field dedicated to distributed request/event correlation.Currently, teams often solve this differently by:
sourceThis leads to inconsistent event structures between systems and makes interoperability and observability more difficult.
In practice, correlation tracking is one of the most common requirements when debugging distributed asynchronous systems.
Describe the solution you would like to see
I would like to propose introducing a standardized
correlationIdattribute (or similarly named field) into the CloudEvents specification.Example:
{ "id": "event-id", "source": "user-service/register", "type": "user.registered", "correlationId": "7f3d7c1b-...", "time": "2026-05-28T10:00:00Z" }The goal would be to provide a consistent and interoperable way to trace a single logical flow across multiple services, events, and asynchronous operations.
This could improve:
Additional context
While working on redesigning our internal messaging contract, we took inspiration from CloudEvents and found ourselves independently adding a dedicated
correlationIdfield for observability purposes.Having both:
source→ where the event originatedcorrelationId→ which distributed flow the event belongs toturned out to be extremely useful both for humans reading logs and for observability platforms handling aggregation/indexing.
I understand extensions already allow custom fields, but because correlation tracking is such a common distributed systems concern, I think standardizing it could provide value across the ecosystem.