generates stable attributes in io.opentelemetry.semconv
generates experimental attributes in io.opentelemetry.semconv.vA_B_C
groups attributes by root namespace and generates them in multiple files
The process of codegen might looks like:
keep old Semantic|ResourceAttributes with all deprecated things, delete at some point in the future
update the version
generate a new folder for experimental, update stable
As a result, we only need to care about back-compat when a stable attribute changes in a breaking manner.
Multiple instrumentation libs can send different semconv versions at once.
Bloating: is indeed a problem
the size of the artifact produced with this change is 131 KB
if I generate a prev version - v1.22.0, it becomes 202 KB
TODO:
[x] Figure out how to populate schema URL
manually for now (with automated check)
not possible(?) with jinja, need some custom script to add new value to Java file
This is a prototype (related to https://github.com/open-telemetry/semantic-conventions/issues/551) of new code-gen approach:
io.opentelemetry.semconv
io.opentelemetry.semconv.vA_B_C
The process of codegen might looks like:
Semantic|ResourceAttributes
with all deprecated things, delete at some point in the futureAs a result, we only need to care about back-compat when a stable attribute changes in a breaking manner. Multiple instrumentation libs can send different semconv versions at once.
Bloating: is indeed a problem
TODO: