open-telemetry / opentelemetry-proto

OpenTelemetry protocol (OTLP) specification and Protobuf definitions
https://opentelemetry.io/docs/specs/otlp/
Apache License 2.0
545 stars 242 forks source link

Document compatibility requirements for profiles #567

Open tigrannajaryan opened 3 weeks ago

tigrannajaryan commented 3 weeks ago

We had a discussion in the Profiling SIG and believe that it is necessary to document what changes are allowed and what changes are prohibited for profiles.

@open-telemetry/profiling-maintainers please assign this to a person who will own this work. I am going to close my draft https://github.com/open-telemetry/opentelemetry-proto/pull/559 for now and will be waiting for new PR that resolves this issue.

tigrannajaryan commented 2 weeks ago

@open-telemetry/profiling-maintainers has there been any progress on this topic?

aalexand commented 2 weeks ago

I had this action item from last meeting:

(Alexey) Maintainers - work on which changes need to be reverted and which ones do not need to be reverted

I haven't looked into it yet, I was hoping to get more comments on the compatibility doc I prepared earlier in the meantime.

I'll probably spend some time preparing a prototype PR which undoes some of the incompatibility changes in pprofextended and see how other maintainers react to it.

I will not be able to attend today's profiling SIG meeting unfortunately - the time doesn't work out for me.

Logistics-wise FYI, I do not seem to be able to assign this issue to myself, no permission apparently.

tigrannajaryan commented 2 weeks ago

Thanks @aalexand, I assigned it to you.

tigrannajaryan commented 2 weeks ago

All, this issue is a blocker for new PRs to the profiling proto format. We need a decision and a compatibility definition in place before we can continue making changes to the proto.

CC @open-telemetry/profiling-maintainers

florianl commented 1 week ago

I have prepared a list of items where I see the major differences between OTel Profiling and pprof (protocol & tool):

To resolve the list of these conflicts, a path forward could look like this:

  1. Revert the naming changes in the OTel Profiling signal and use the pprof naming scheme.
  2. In a semantic convention for OTel Profiling define special meaning and intepretation of certain values.
  3. OTel Profiling signal deprecates some pprof elements. Going forward this should be discussed again and resolved.

@aalexand I'm happy to help resolving these conflicts.