-
Notifications
You must be signed in to change notification settings - Fork 3
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
Add more tracing instrumentation #885
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
c74ad70
to
69d04de
Compare
36ac9f3
to
b19f72c
Compare
Pass config via envs to enable tracing in all services.
It uses github.com/XSAM/otelsql to wrap our database drivers with instrumentation enabled. I've configured the tracer provider in both enduro-a3m-worker and enduro-am-worker.
It includes a new capability to enable route tagging via OpenTelemetry.
This is a concern now addressed by otelhttp (traceIDs).
This commit ensures that spans and metrics are annotated with the route name which is provided by Goa. For example, in Tempo we can now retrieve traces with a query like the following: {.http.route="/storage/location"}
b19f72c
to
2a4e87e
Compare
2a4e87e
to
b7c471e
Compare
djjuhasz
approved these changes
Mar 12, 2024
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.
LGTM! 👍
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds more instrumentation in different areas of the project. It includes multiple commits addressing different concerns. The main four changes are:
enduro-a3m-worker
andenduro-am-worker
(enduro was already configured) and enables telemetry passing environment strings to the corresponding k8s workloads,database/sql
viagithub.com/XSAM/otelsql
,With these changes, we'll see a significant increase in the number of traces captured by Tempo. We're not yet initiating a trace during the transfer submission via MinIO; however, an interesting example that can already be observed is the move workflow initiated through the API. If you've already moved a package, use this query to find related traces:
It should look like this:
Something that becomes apparent right away is the lag between activity executions - we know that's the cost of using Temporal to schedule activities. It also shows that local activities are much faster since they're not coordinated with the Temporal server.
You can also search for a workflow directly, e.g.:
This trace is interesting because it shows that the telemetry data originates from multiple services, specifically "enduro" and "enduro-a3m-worker", rather than a singular source.