-
Notifications
You must be signed in to change notification settings - Fork 16
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 otel wrapper #118
Closed
Closed
Add otel wrapper #118
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
This was referenced Sep 26, 2024
superseded by #119 |
This was referenced Oct 29, 2024
rapids-bot bot
pushed a commit
to rapidsai/cudf
that referenced
this pull request
Nov 15, 2024
This is a prototype implementation of rapidsai/build-infra#139 The work that this builds on: * rapidsai/gha-tools#118, which adds a shell wrapper that automatically creates spans for the commands that it wraps. It also uses the `opentelemetry-instrument` command to set up monkeypatching for supported Python libraries, if the command is python-based * https://github.com/rapidsai/shared-workflows/tree/add-telemetry, which installs the gha-tools work from above and sets necessary environment variables. This is only done for the conda-cpp-build.yaml shared workflow at the time of submitting this PR. The goal of this PR is to observe telemetry data sent from a GitHub Actions build triggered by this PR as a proof of concept. Once it all works, the remaining work is: * merge rapidsai/gha-tools#118 * Move the opentelemetry-related install stuff in https://github.com/rapidsai/shared-workflows/compare/add-telemetry?expand=1#diff-ca6188672785b5d214aaac2bf77ce0528a48481b2a16b35aeb78ea877b2567bcR118-R125 into https://github.com/rapidsai/ci-imgs, and rebuild ci-imgs * expand coverage to other shared workflows * Incorporate the changes from this PR to other jobs and to other repos Authors: - Mike Sarahan (https://github.com/msarahan) Approvers: - Bradley Dice (https://github.com/bdice) URL: #16924
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 is designed to lay the groundwork for enabling all build jobs to enable telemetry when they are ready. It works by wrapping commands in a way that runs the command with opentelemetry-instrument, which enables the no-code monkeypatching stuff to take effect.
https://github.com/rapidsai/gha-tools/compare/main...msarahan:gha-tools:add-otel-wrapper?expand=1#diff-f1f054b2906bfd36ad706ed2fa6aa028fa529e65b25167e4ca7ca45546d59ed8R33
The functionality of this PR is ideally non-invasive, because it only becomes active when a particular executable, otel-cli, is available.
Jobs that wish to capture telemetry should:
RAPIDS_SERVICE_NAME
to the desired descriptor of the job running this command (perhaps the job name including build matrix?). This is used as the "service name" in telemetry records.RAPIDS_OTEL_ATTRS
to a comma-separated key-value string. These attrs are filterable and are intended for use in later aggregating data. The build scripts should set their own attrs, but if there are additional identifying attributes you want to filter on, you can set them here.These really only apply to the conda builds, because wheel build scripts are more per-repo. Hopefully the wrapper script can serve in those areas.