From 0f32e99e3f6e31d4165bac7fdbd7c305cd67b014 Mon Sep 17 00:00:00 2001 From: Mike Sarahan Date: Fri, 15 Nov 2024 16:48:51 -0600 Subject: [PATCH] add telemetry (#6126) Enables telemetry during cuml's build process. This is currently done by parsing Github Actions run log metadata, and should have no impact on build/test times Implement OpenTelemetry, as described in https://github.com/rapidsai/build-infra/issues/139 Authors: - Mike Sarahan (https://github.com/msarahan) Approvers: - Bradley Dice (https://github.com/bdice) URL: https://github.com/rapidsai/cuml/pull/6126 --- .github/workflows/pr.yaml | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 1ca4589500..f9e1f066b5 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -10,6 +10,7 @@ concurrency: cancel-in-progress: true jobs: + # Please keep pr-builder as the top job here pr-builder: needs: - changed-files @@ -23,6 +24,7 @@ jobs: - conda-python-tests-dask - conda-notebook-tests - docs-build + - telemetry-setup - wheel-build-cuml - wheel-tests-cuml - devcontainer @@ -31,8 +33,17 @@ jobs: if: always() with: needs: ${{ toJSON(needs) }} + telemetry-setup: + runs-on: ubuntu-latest + continue-on-error: true + env: + OTEL_SERVICE_NAME: "pr-cuml" + steps: + - name: Telemetry setup + uses: rapidsai/shared-actions/telemetry-dispatch-stash-base-env-vars@main changed-files: secrets: inherit + needs: telemetry-setup uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@branch-24.12 with: files_yaml: | @@ -66,11 +77,12 @@ jobs: - '!thirdparty/LICENSES/**' checks: secrets: inherit + needs: telemetry-setup uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.12 with: enable_check_generated_files: false ignored_pr_jobs: >- - optional-job-conda-python-tests-cudf-pandas-integration + optional-job-conda-python-tests-cudf-pandas-integration telemetry-summarize clang-tidy: needs: checks secrets: inherit @@ -173,6 +185,7 @@ jobs: build_type: pull-request script: ci/test_wheel.sh devcontainer: + needs: telemetry-setup secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@branch-24.12 with: @@ -183,3 +196,18 @@ jobs: sccache -z; build-all --verbose; sccache -s; + + telemetry-summarize: + runs-on: ubuntu-latest + needs: pr-builder + if: always() + continue-on-error: true + steps: + - name: Load stashed telemetry env vars + uses: rapidsai/shared-actions/telemetry-dispatch-load-base-env-vars@main + with: + load_service_name: true + - name: Telemetry summarize + uses: rapidsai/shared-actions/telemetry-dispatch-write-summary@main + with: + cert_concat: "${{ secrets.OTEL_EXPORTER_OTLP_CA_CERTIFICATE }};${{ secrets.OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE }};${{ secrets.OTEL_EXPORTER_OTLP_CLIENT_KEY }}"