-
Notifications
You must be signed in to change notification settings - Fork 896
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define compatibility between cloud events and OpenTelemetry events #3768
Comments
There are already semantic conventions for tracing the flow of CloudEvents, which are build on a Distributed Tracing extension that is part of CloudEvents. It might be necessary to consider (and maybe re-work) this when defining a consistent relationship between OpenTelemetry events and CloudEvents. |
I suggest that this issue be moved to semantic conventions. There are no compatibility issues. The difficult design work involved collaborating with CloudEvents to design tracing for messaging systems. Structurally, CloudEvents are flat. All CloudEvents metadata can be mapped directly to attributes using the There is one important note. While it is straightforward for OpenTelemetry receive CloudEvents, it is not guaranteed that all telemetry received by OpenTelemetry can be converted into CloudEvents. OpenTelemetry intends to collect the widest range of telemetry available. OpenTelemetry is not intended to function as an application component that produces CloudEvents as part of the data plane of a distributed system. In practice, this means that OpenTelemetry can accept data which may be missing information required by the CloudEvents specification. Specifically, we do not require that end users to provide a unique |
One other subject that should be addressed is integration at the instrumentation level. CloudEvents provides SDKs in many languages, which are how they expect CloudEvent users to interact with the project. I don't think there are any plans to merge the projects and retire the CloudEvents SDKs, there is much more functionality in the CloudEvents SDKs than in OTel's simple API for sending events as telemetry, For these reasons, I don't believe that we should add any CloudEvent functionality to the Otel API, or otherwise encourage CloudEvent users to abandon the CloudEvent SDKs in favor of the Otel SDKs. They are much better equipped to keep up with the needs of their project than we are. Integration between OTel and CloudEvents could be as simple as the CloudEvents SDK calling the Otel Event API under the hood. When Otel is not installed, the API call is a no-op. When OTel is installed, CloudEvents will automatically be integrated with any OTel instrumentation that is running in the application. That should be sufficient. |
💯 The scope of CloudEvents is much larger than that of OTel events. While the latter are restricted to telemetry, CloudEvents aims at supporting any workflows that involve events, see here:
I assume we don't want OTel Event APIs to emit events that are used to control some business logic. |
We just decided that from the "event WG" perspective that this was not in scope (which is why we removed it from our board). As the definition of a specific "event" would be for the event domain "owners" to specify in this case that would be someone who wants to create a bridge from Cloud Events to OTel. So we don't have anyone specific to be the assignee. |
Can we close this issue? |
CloudEvents is a popular standard for describing event data. OpenTelemetry defines an Event API and has an active Event working group to resolve some of the outstanding issues related to the Event API / SDK and Events in semantic conventions.
Similar to the compatibility documents we provide for Prometheus / OpenMetrics, OpenCensus, and OpenTracing, we should provide a compatibility document describing how CloudEvents interoperate with OpenTelemetry Events.
We should be careful to ensure that any work done with the Event API / SDK and Events in the semantic conventions does not prevent interoperability with CloudEvents.
Additional context:
The text was updated successfully, but these errors were encountered: