-
Notifications
You must be signed in to change notification settings - Fork 336
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Minor span tracing improvements #350
Minor span tracing improvements #350
Conversation
1a6bddb
to
66b2b51
Compare
Why do we need to be able to create subspans after the span has ended? I think the original design expected that would never happen. |
There's nothing saying it's invalid, and you can technically do it today by making a separate |
A real example would probably be something like, operation A spawns operation B, but operation A actually ends before operation B has technically "started" because of runtime shenanigans. |
@@ -302,22 +303,24 @@ SpanBuilder::~SpanBuilder() noexcept(false) { | |||
} | |||
|
|||
void SpanBuilder::end() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Optional) We may want a test on the new span behavior in 8d7e51e, to prevent possible regressions in the future.
WORKSPACE
Outdated
type = "tgz", | ||
urls = ["https://github.com/capnproto/capnproto/tarball/b2afb7f8fe393466a38e2fd2ad98482c34aafcee"], | ||
urls = ["https://github.com/capnproto/capnproto/tarball/d0f22701fd3e5a95c108ee1bdc0af7f444d67794"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update to final version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good other than merge conflicts and updating the capnp dependency.
Encapsulating the entire span in a state containing the observer and span and setting it null on `end()` prevents the creation of subspans after the span has ended.
66b2b51
to
0d00b63
Compare
Don't set observer null when ending span
Encapsulating the entire span in a state containing the observer and span and setting it null on
end()
prevents the creation of subspans after the span has ended.Add getObserver to SpanBuilder
Switch span tracing APIs to use kj::ConstString