-
Notifications
You must be signed in to change notification settings - Fork 82
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
(Bluesky #1682) add OpenTelemetry tracing to status #1189
(Bluesky #1682) add OpenTelemetry tracing to status #1189
Conversation
a44955c
to
b59688d
Compare
- Adds opentelemetry-api as a dependency - Registers traces on __init__ of Status objects, ending when they are marked done - Registers traces on Status.wait()
b59688d
to
77cbea4
Compare
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 like the SubscriptionStatus
and DeviceStatus
(and their subclasses) are not included. Was it intentional?
Why not to apply the changes to the StatusBase
class?
docs/conf.py
Outdated
@@ -104,7 +104,7 @@ | |||
# Example configuration for intersphinx: refer to the Python standard library. | |||
intersphinx_mapping = { | |||
"python": ("https://docs.python.org/3", None), | |||
"bluesky": ("https://blueskyproject.io/bluesky/", None), | |||
"bluesky": ("https://blueskyproject.io/bluesky/main", None), |
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 get https://blueskyproject.io/bluesky/main/objects.inv.
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.
Probably worth a separate PR.
Hi @mrakitin , thanks for your review, sorry it took me so long to get back to you! The trace is indeed applied to |
4236ea1
to
18e9a5d
Compare
bdabfe2
to
b9d74ca
Compare
@dperl-dls, are the CI failures expected? |
@mrakitin yes, they're failing on master, unrelated to these changes. I can run all the tests locally and they pass, but I don't really know what I could do about the NSLS epics IOC containers. I was hoping this would be fixed by now and I could rebase. |
I think we need to refresh the image https://hub.docker.com/r/nsls2/epics-docker/tags to unblock the tests. |
afc5269
to
e1d1f36
Compare
977dbdf
to
3ad76a1
Compare
3ad76a1
to
b38c062
Compare
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 straightforward.
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 to me!
To go along with bluesky/bluesky#1724
opentelemetry-api
as a dependency__init__
ofStatusBase
objects, ends it when they are marked done, and attaches some metadata to help identify what the status belongs to - this metadata is added for class specific metadata in each subclassStatusBase.wait()