open-telemetry/opentelemetry-ruby

Update protoc to v23.x to use new Ruby code generator

arielvalentin opened this issue · 1 comments

Changes to Ruby Generator
This GitHub PR, which will appear in the 23.x release, changes the Ruby code generator to emit a serialized proto instead of the DSL.

It removes the DSL from the code generator in anticipation of splitting the DSL out into a separate package. https://protobuf.dev/news/2023-04-20/

The generated code bundled with the OTLP Exporter gem uses the DSL and must be updated to the latest serialized descriptors format because:

Daniel Azuma: (Google) intentionally made the change to ditch generating DSL code, because there are a plethora of known bugs, incompatibilities, out-of-dateness, etc. in the DSL that are likely never going to be fixed (partly because we have no resources to do so, and partly because descriptors could have circular references and thus it's hairy to even design a DSL that can express everything.) In an ideal world, we'd just switch to the serialized descriptors and no longer have to worry about problems like your duplicate descriptorpool entries issue.

We want to ensure the OTEL Exporter provides the best experience for our users, updating our generated code will yield a better experience for our end users and minimize maintenance burden for OTel Ruby maintainers.

👋 This issue has been marked as stale because it has been open with no activity. You can: comment on the issue or remove the stale label to hold stale off for a while, add the keep label to hold stale off permanently, or do nothing. If you do nothing this issue will be closed eventually by the stale bot.