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 context interaction for trace module #1063

Merged
merged 11 commits into from
Oct 15, 2020

Conversation

bogdandrutu
Copy link
Member

Signed-off-by: Bogdan Drutu bogdandrutu@gmail.com

Fixes #1019

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
@bogdandrutu bogdandrutu added area:api Cross language API specification issue release:required-for-ga Must be resolved before GA release, or nice to have before GA spec:trace Related to the specification/trace directory labels Oct 6, 2020
specification/trace/api.md Outdated Show resolved Hide resolved
specification/trace/api.md Outdated Show resolved Hide resolved
specification/trace/api.md Show resolved Hide resolved
specification/trace/api.md Outdated Show resolved Hide resolved
specification/trace/api.md Outdated Show resolved Hide resolved
bogdandrutu and others added 2 commits October 7, 2020 07:14
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
specification/trace/api.md Outdated Show resolved Hide resolved
specification/trace/api.md Outdated Show resolved Hide resolved
specification/trace/api.md Outdated Show resolved Hide resolved
bogdandrutu and others added 3 commits October 7, 2020 11:23
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
specification/trace/api.md Show resolved Hide resolved
Copy link
Member

@arminru arminru left a comment

Choose a reason for hiding this comment

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

The proposed note on discouraging overridability sounds reasonable, otherwise LGTM.

@Oberon00
Copy link
Member

@arminru More important than discouraging overridability would be to specify that this functionality must be implemented in the API.

@carlosalberto carlosalberto self-requested a review October 13, 2020 00:17
specification/trace/api.md Outdated Show resolved Hide resolved
@carlosalberto
Copy link
Contributor

Ping @bogdandrutu ;)

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. Just added minor suggestion to make the intent with implicit context clearer. I am fine if it is merged with or without my suggestion.

specification/trace/api.md Outdated Show resolved Hide resolved
Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
@bogdandrutu bogdandrutu reopened this Oct 15, 2020
All the above functionalities operate solely on the context API, and they MAY be
exposed as static methods on the trace module, as static methods on a class
inside the trace module (it MAY be named `TracingContextUtilities`), or on the
[`Tracer`](#tracer) class. This functionality SHOULD be fully implemented in the
Copy link
Contributor

Choose a reason for hiding this comment

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

Breaking news - there seems to be a lot of support for removing the mention of Tracer here. What do you think?

open-telemetry/opentelemetry-java#1807

Copy link
Member

Choose a reason for hiding this comment

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

The spec here does not say that this should be on the tracer, and if it is, it says it should be static.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah static is written twice, but not a third time. So with this wording, static does not apply to Tracer I think and I didn't read it that way. If it's also static it makes sense to me.

Copy link
Contributor

Choose a reason for hiding this comment

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

What one language decided to do is not breaking news :) In the Ruby implementation they want to work directly with Tracer (cc @mwear). The options are given above, and the language is free to implement them either way they want.

@bogdandrutu to just clarify, we still allow this to exist as instance methods in Tracer, correct?

Copy link
Member

Choose a reason for hiding this comment

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

I think we should discourage an instance method on tracer, as this has been known to cause confusion and has caused people to call for allowing an unnamed tracer just to access the current span.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should discourage an instance method on tracer

I agree.

Copy link
Member Author

Choose a reason for hiding this comment

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

I think the current text does exactly that, and in edge cases where that cannot be avoided, it allows to be an instance method.

Copy link
Contributor

Choose a reason for hiding this comment

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

open-telemetry/opentelemetry-ruby#425 (comment)

TL;DR: I agree, including for Ruby.

@SergeyKanzhelev
Copy link
Member

reopened to reset EasyCLA

@bogdandrutu bogdandrutu merged commit 5c9143b into open-telemetry:master Oct 15, 2020
@bogdandrutu bogdandrutu deleted the newcontextkey branch October 15, 2020 16:53
carlosalberto pushed a commit to carlosalberto/opentelemetry-specification that referenced this pull request Oct 31, 2024
* Clarify context interaction for trace module

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Add changelog entry

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

* Update specification/trace/api.md

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>

* Update specification/trace/api.md

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>

* Update specification/trace/api.md

Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>

* Update specification/trace/api.md

Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>

* Update specification/trace/api.md

Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>

* Update api.md

* Update api.md

* Update specification/trace/api.md

Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:api Cross language API specification issue release:required-for-ga Must be resolved before GA release, or nice to have before GA spec:trace Related to the specification/trace directory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Context interaction in different packages like trace/baggage is unclear
10 participants