fix: bring back old API on core telemetry builder (#401) #622
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
| # Continuous benchmarking with Bencher (https://bencher.dev). | |
| # | |
| # PREREQUISITES: | |
| # 1. Create a project at https://bencher.dev and note its slug. | |
| # 2. Add the following in GitHub → Settings → Secrets and variables → Actions: | |
| # - Secret BENCHER_API_TOKEN: API token from bencher.dev | |
| # - Variable BENCHER_PROJECT: your project slug | |
| # | |
| # This workflow posts numbers and maintains the persistent regression | |
| # threshold on the target branch. The PR gate (benchmarks-pr.yml) reads | |
| # main's threshold via --start-point-reset. | |
| name: Benchmarks | |
| on: | |
| push: | |
| branches: [main] | |
| paths-ignore: | |
| - '**.md' | |
| - 'docs/**' | |
| - 'examples/**' | |
| - 'dial9-viewer/**' | |
| - '.github/ISSUE_TEMPLATE/**' | |
| workflow_dispatch: | |
| inputs: | |
| bencher_branch: | |
| description: 'Override Bencher branch name (e.g. "main" to seed baseline from a feature branch). Leave empty to use the running branch.' | |
| required: false | |
| default: '' | |
| permissions: | |
| checks: write | |
| pull-requests: write | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| jobs: | |
| baseline: | |
| name: baseline | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| env: | |
| RUST_BACKTRACE: 1 | |
| BENCHER_PROJECT: ${{ vars.BENCHER_PROJECT }} | |
| # Mirror .cargo/config.toml [build] rustflags + add iai_enabled cfg | |
| # so bench files compile their real iai entry point (not the no-op | |
| # stub `cargo test --all-targets` uses). | |
| RUSTFLAGS: '--cfg tokio_unstable -C force-frame-pointers=yes --cfg iai_enabled' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/iai-bench | |
| with: | |
| bencher-token: ${{ secrets.BENCHER_API_TOKEN }} | |
| bencher-branch: ${{ github.event.inputs.bencher_branch != '' && github.event.inputs.bencher_branch || github.ref_name }} | |
| bencher-extra-args: >- | |
| --threshold-measure instructions | |
| --threshold-test percentage | |
| --threshold-max-sample-size 1 | |
| --threshold-upper-boundary 0.01 | |
| --threshold-measure l1-hits | |
| --threshold-test percentage | |
| --threshold-max-sample-size 1 | |
| --threshold-upper-boundary 0.01 | |
| --threshold-measure ram-hits | |
| --threshold-test percentage | |
| --threshold-max-sample-size 1 | |
| --threshold-upper-boundary 0.01 | |
| --threshold-measure total-read-write | |
| --threshold-test percentage | |
| --threshold-max-sample-size 1 | |
| --threshold-upper-boundary 0.01 | |
| --threshold-measure estimated-cycles | |
| --threshold-test percentage | |
| --threshold-max-sample-size 1 | |
| --threshold-upper-boundary 0.01 | |
| --threshold-measure ll-hits | |
| --threshold-test percentage | |
| --threshold-max-sample-size 1 | |
| --threshold-upper-boundary 0.05 |