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

profiles: align type of index into string table #557

Open florianl opened 1 month ago

florianl commented 1 month ago

With Mapping.filename, Function.name, Label.key and others, the type of the index into the string table is always int64. For consistency align the type of Location.type_index, which is also an index into the string table, to int64.

type_index is an element introduced by the OTel Profiling SIG and was added to message Location. Changing this type does not break compatibility with the original pprof, as the original pprof does not have this element in message Location.

FYI: @petethepig @open-telemetry/profiling-maintainers

tigrannajaryan commented 1 month ago

Changing this type does not break compatibility with the original pprof, as the original pprof does not have this element in message Location.

Does it still meet the requirement of "every valid pprof profile is also a valid Otel profile"?

florianl commented 1 month ago

Does it still meet the requirement of "every valid pprof profile is also a valid Otel profile"?

@tigrannajaryan - yes it does. As type_index was introduced by the OTel Profiling SIG it does not affect original pprof profiles. In general original pprof profiles use int64 as index type and this PR aligns the OTel Profiling SIG introduced element to also use int64 as its type.