Skip to content
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

Consider not turning instrumentation_scope.name into library.name #156

Open
cartermp opened this issue Dec 12, 2022 · 6 comments
Open

Consider not turning instrumentation_scope.name into library.name #156

cartermp opened this issue Dec 12, 2022 · 6 comments
Labels
type: discussion Requests for comments, discussions about possible enhancements.

Comments

@cartermp
Copy link
Member

cartermp commented Dec 12, 2022

We currently do this today. It's going to get super confusing for people using OTTL because they'll see a library.name value in honeycomb, decide they wanna filter on it, go into the collector, put that in their expression, and realize it's not doing anything.

However, if we do this, it does mean that there will be a time (60ish days) where any existing query based on library.name will now return different results. Customers will need to know about this in advance and then write a COALESCE derived column to keep their queries intact for that time period. Docs would also need a change.

If we decide to do this, then (IMO) the earlier the better. The impact of the difference will only get worse each day.

@cartermp cartermp added the type: discussion Requests for comments, discussions about possible enhancements. label Dec 12, 2022
@TylerHelmuth
Copy link
Contributor

@robbkidd suggested updating husky to allow both values. Is there a reason we should not do that in the interim?

@cartermp
Copy link
Member Author

so emit two attributes rather than just one?

@TylerHelmuth
Copy link
Contributor

Not permanently but during the transition period to avoid a derived column requirement.

@robbkidd
Copy link
Member

I need to refresh my memory on the particulars of which OTLP proto versions tinker with this field. I recall some talk of library.(name|version) coming back as a field somehow, but I don't recall if it is as full-fledged field in the proto definition or as a possible attribute (maybe even set at the InstrumentationScope level). 😕

For a transition, I think we could dual write:

  • The proto field formerly-known-as-library-name-but-now-is-instrumentation-scope-name gets added to the data point husky produces as "instrumentation_scope.name".
  • If there isn't already a "library.name" attribute on the incoming span (at whatever level it might appear), we'll add it with the value from instrumentation_scope.name.
  • (ditto scope/library.version)

@cartermp
Copy link
Member Author

It'd require a DC one way or another. I guess while we do both we could encourage people to not use library.name for things, but at some point if we drop one of them, there will be all kinds of people who still use it, and would need to write that DC.

@robbkidd
Copy link
Member

At the moment, this spec doc on transforming OTel data to non-OTLP formats says we should be writing to both (scope and library) and that we ought to prefix the field name for OTel:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: discussion Requests for comments, discussions about possible enhancements.
Projects
None yet
Development

No branches or pull requests

3 participants