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

Add otel wrapper #118

Closed
wants to merge 24 commits into from
Closed

Add otel wrapper #118

wants to merge 24 commits into from

Conversation

msarahan
Copy link
Contributor

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:

  • Set 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.
  • Optionally set 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.

@msarahan
Copy link
Contributor Author

msarahan commented Oct 9, 2024

superseded by #119

@msarahan msarahan closed this Oct 9, 2024
@msarahan msarahan deleted the add-otel-wrapper branch October 9, 2024 23:02
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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant