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

Clarify telemetry library resource attributes #494

Conversation

arminru
Copy link
Member

@arminru arminru commented Feb 28, 2020

Resolves #484.

I renamed the attributes since calling them just library is highly ambiguous as we realized in the last SIG spec meeting.
By introducing a nested set of keys in telemetry.sdk.*, we could neatly introduce something like telemetry.api.* in future if we also want to keep track of the OpenTelemetry API version being used. This is, however, out of scope of this PR since this is only to clarify the current intention of the status quo.
I defined a hard-coded string for the OpenTelemetry default SDK in order to have a single uniform value across all language implementations. This makes it easier in case someone wants to build handling around that in a backend.

arminru and others added 2 commits February 28, 2020 11:05
Co-Authored-By: Wolfgang Ziegler <wolfgang.ziegler@dynatrace.com>
@arminru arminru added the area:semantic-conventions Related to semantic conventions label Feb 28, 2020
Copy link
Member

@tigrannajaryan tigrannajaryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

specification/data-resource-semantic-conventions.md Outdated Show resolved Hide resolved

If another SDK, like a fork or a vendor-provided implementation, is used, `telemetry.sdk.name`
MUST be set to the fully-qualified class or module name of that SDK's main entry point
or another suitable identifier depending on the language.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I wonder if we should recommend fully-qualified name if we ourselves don't use it. Not a big deal, works either way for me.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fine I think, given that the default SDK will be the most commonly used one out there it deserves a special status.
I defined a hard-coded string for the OpenTelemetry default SDK in order to have a single uniform value across all language implementations. This makes it easier in case someone wants to build handling around that in a backend.

Copy link
Contributor

@jkwatson jkwatson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

excellent clarification

**Description:** Telemetry library information.
**Description:** The SDK used to produce telemetry data.

If the default OpenTelemetry SDK provided by the OpenTelemetry project is used,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait, if the instrumentation adapter is used - will it be the name of the adapter than?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SergeyKanzhelev Please clarify what you mean by instrumentation adapter, this term is completely new to me.
Do you refer to any of the things defined in our glossary (https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md) or something else?

Copy link
Member

@tigrannajaryan tigrannajaryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bogdandrutu
Copy link
Member

@SergeyKanzhelev @yurishkuro please let us know if your concerns are addressed.

**Description:** The telemetry SDK used to capture data recorded by the instrumentation libraries.

If the default OpenTelemetry SDK provided by the OpenTelemetry project is used,
`telemetry.sdk.name` MUST be set to `opentelemetry`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is responsible for setting mandatory resource attributes? Is the default SDK required to set these values? I think it's unclear where the responsibility lies for a lot of these things. A sentence or two of clarification would be very helpful.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point! I rephrased it accordingly.

@arminru
Copy link
Member Author

arminru commented Mar 12, 2020

@open-telemetry/specs-approvers are we ready to merge this? :)

@jmacd
Copy link
Contributor

jmacd commented Mar 18, 2020

Please merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:semantic-conventions Related to semantic conventions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Clarify library.* resource attributes
9 participants