fix: Fix stack-overflow inducing infinite feedback loop when calling tracing::event!
after SdkLoggerProvider::shutdown
#1249
Workflow file for this run
This file contains hidden or 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 workflow runs a Criterion benchmark on a PR and compares the results against the base branch. | |
# It is triggered on a PR or a push to main. | |
# | |
# The workflow is gated on the presence of the "performance" label on the PR. | |
# | |
# The workflow runs on a self-hosted runner pool. We can't use the shared runners for this, | |
# because they are only permitted to run on the default branch to preserve resources. | |
# | |
# In the future, we might like to consider using bencher.dev or the framework used by otel-golang here. | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
name: benchmark pull requests | |
permissions: | |
contents: read | |
jobs: | |
runBenchmark: | |
name: run benchmark | |
permissions: | |
pull-requests: write | |
# If we're running on main, use our oracle bare-metal runner for accuracy. | |
# If we're running on a PR, use github's shared workers to save resources. | |
runs-on: ${{ github.event_name == 'pull_request' && 'ubuntu-latest' || 'oracle-bare-metal-64cpu-512gb-x86-64' }} | |
if: ${{ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'performance')) || github.event_name == 'push' }} | |
container: | |
image: rust:slim-bullseye | |
env: | |
# For PRs, compare against the base branch - e.g., 'main'. | |
# For pushes to main, compare against the previous commit | |
BRANCH_NAME: ${{ github.event_name == 'pull_request' && github.base_ref || github.event.before }} | |
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 | |
steps: | |
- name: Harden the runner (Audit all outbound calls) | |
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0 | |
with: | |
egress-policy: audit | |
- name: Setup container environment | |
run: | | |
apt-get update && apt-get install --fix-missing -y unzip cmake build-essential pkg-config curl git | |
cargo install cargo-criterion | |
- name: Make repo safe for Git inside container | |
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
with: | |
fetch-depth: 10 # Fetch a bit of history so we can do perf diffs | |
- uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 | |
with: | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: boa-dev/criterion-compare-action@adfd3a94634fe2041ce5613eb7df09d247555b87 # v3.2.4 | |
with: | |
branchName: ${{ env.BRANCH_NAME }} |