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

Error flagging with status codes #136

Merged
merged 33 commits into from
Sep 17, 2020
Merged

Conversation

tedsuo
Copy link
Contributor

@tedsuo tedsuo commented Sep 9, 2020

This proposal attempts to address error handling while making the least number of breaking changes to our current system. It retains SpanStatus. Other proposals we essentially reinventing it, only in a way that would introduce a number of breaking changes. It allows current instrumentation to continue to work as-is, while providing guidance to instrumentation authors. It includes a way to differentiate between the default errors provided by instrumentation and intentional error flagging provided by the end user.

If accepted, this proposal would replace OTEP #134, and addresses issues #559 and #706.

@tedsuo tedsuo requested review from a team September 9, 2020 05:24
Copy link
Member

@Oberon00 Oberon00 left a comment

Choose a reason for hiding this comment

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

All in all, looks sensible to me.

text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
tedsuo and others added 4 commits September 8, 2020 23:49
Co-authored-by: Reiley Yang <reyang@microsoft.com>
Co-authored-by: Reiley Yang <reyang@microsoft.com>
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
@carlosalberto
Copy link
Contributor

Overall looks good to me.

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.

Ted, thank you for the proposal. I think this nicely summarizes the Error WG discussion. I have a few questions/comments that would be good to clarify.

text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
Copy link
Member

@justinfoote justinfoote left a comment

Choose a reason for hiding this comment

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

In my opinion, this is a reasonable compromise and logical step forward. Thanks for writing it up!

text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0000-error_flagging.md Outdated Show resolved Hide resolved
tedsuo and others added 10 commits September 9, 2020 11:46
Co-authored-by: Steve Flanders <steve@omnition.io>
Co-authored-by: Steve Flanders <steve@omnition.io>
Co-authored-by: Steve Flanders <steve@omnition.io>
Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
Co-authored-by: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com>
@tedsuo
Copy link
Contributor Author

tedsuo commented Sep 9, 2020

FYI I have updated this proposal based on feedback. Rather than adding additional status codes to represent user overrides, we add a user_override boolean which indicated that the end user has confirmed that the status code is correct. The expected behavior is that the status code on the span should take precedence over any further analysis.

Please let me know if this solves our remaining issues with error reporting.

text/trace/0136-error_flagging.md Show resolved Hide resolved
Copy link
Member

@reyang reyang left a comment

Choose a reason for hiding this comment

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

LGTM.

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.

Mostly editorial suggestions and some statements that need to be clarified but nothing to object. I'm satisfied with the general direction and agree with @tigrannajaryan that, given the initial consensus we have here, we'll be able to work out the details in the spec (and proto) PRs.

text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
tedsuo and others added 6 commits September 15, 2020 14:05
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Co-authored-by: Justin Foote <justinandrewfoote@gmail.com>
@tedsuo
Copy link
Contributor Author

tedsuo commented Sep 15, 2020

Thanks @arminru. I adjusted the language to clarify the points you raised. Is this good enough to merge?

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.

LGTM! The details will be sorted out when this is poured into a spec PR. Thanks Ted!

text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
text/trace/0136-error_flagging.md Outdated Show resolved Hide resolved
tedsuo and others added 2 commits September 16, 2020 12:54
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
@carlosalberto
Copy link
Contributor

Merging this as we have enough votes and don't want to decrease the velocity - and as @arminru said, we will iron out the actual details in the Specification.

cc @bogdandrutu

@carlosalberto carlosalberto merged commit a7fb5dd into open-telemetry:master Sep 17, 2020
@bogdandrutu
Copy link
Member

@carlosalberto not that I am totally against this (I would probably request changes in that case) but as mentioned multiple times, we cannot use the velocity argument to merge changes before GA because that may cost us a lot in the future if we merge half baked changes now to rush things.

@carlosalberto
Copy link
Contributor

@bogdandrutu Oh, definitely. I merged cause this is 'merely' an OTEP, but let's definitely find full agreement when the actual changes hit the Specification (as long as they take).

@tedsuo
Copy link
Contributor Author

tedsuo commented Sep 17, 2020

@bogdandrutu: I agree, but to be clear, this was merged because it had more than enough votes, was open for an acceptable amount of time, and there were no further objections.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.