Skip to content

Refactor.

Refactor. #431

name: Pipeline Performance Tests - Nightly

Check failure on line 1 in .github/workflows/pipeline-perf-test-nightly.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/pipeline-perf-test-nightly.yml

Invalid workflow file

(Line: 19, Col: 15): Unrecognized named-value: 'runner'. Located at position 1 within expression: runner.temp, (Line: 20, Col: 12): Unrecognized named-value: 'runner'. Located at position 1 within expression: runner.temp, (Line: 21, Col: 13): Unrecognized named-value: 'runner'. Located at position 1 within expression: runner.temp
permissions:
contents: read
on:
schedule:
- cron: "0 16 * * *" # runs every day at 8 AM PT (4 PM UTC)
- cron: "0 0 * * *" # runs every day at 4 PM PT (midnight UTC)
workflow_dispatch:
jobs:
pipeline-perf-test:
runs-on: oracle-bare-metal-64cpu-1024gb-x86-64-ubuntu-24
# Route tool-created temp files to RUNNER_TEMP, which GitHub Actions empties
# at the start and end of every job. Required when running directly on the
# shared bare-metal host (no job-level container) per
# https://github.com/open-telemetry/community/blob/main/docs/how-to-use-bare-metal-runner.md
env:
TMPDIR: ${{ runner.temp }}
TMP: ${{ runner.temp }}
TEMP: ${{ runner.temp }}
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with:
egress-policy: audit
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up Python
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: "3.14"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
- name: Set up Python (non-OL8)
if: ${{ steps.detect_os.outputs.id != 'ol' }}
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: "3.14"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
- name: Build dataflow_engine
run: |
git submodule init
git submodule update
cd rust/otap-dataflow
docker buildx build --load --build-context otel-arrow=../../ -f Dockerfile -t df_engine .
cd ../..
- name: Build otelarrowcol image
# Builds the thin Dockerfile, which pulls the upstream OpenTelemetry
# Collector Contrib distribution (includes the otelarrow components).
run: |
docker build . -t otelarrowcol
- name: Install dependencies
run: |
python -m pip install --user --require-hashes -r tools/pipeline_perf_test/orchestrator/requirements.lock.txt
python -m pip install --user --require-hashes -r tools/pipeline_perf_test/load_generator/requirements.lock.txt
- name: Run syslog performance test log suite
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/nightly/syslog-docker.yaml
- name: Run syslog TCP performance test log suite
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/nightly/syslog-tcp-docker.yaml
- name: Run standard load batch size test suite
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/nightly/100klrps-batch-sizes-docker.yaml
- name: Run backpressure performance test log suite
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/nightly/backpressure-docker.yaml
- name: Run filter performance test log suite
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/nightly/filter-docker.yaml
- name: Run filter performance test otelcol log suite
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/nightly/otelcol-docker.yaml
- name: Run syslog TCP performance test otelcol log suite
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/nightly/syslog-tcp-otelcol-docker.yaml
- name: Run batch processor performance test log suite
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/nightly/batch-processor-docker.yaml
- name: Run idle state performance tests
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
./scripts/run-idle-state-tests.sh --output-json results/idle-memory-scaling.json \
| tee idle-memory-scaling-report.txt
# Add memory scaling report to job summary
echo "### Idle State Memory Scaling Analysis" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
# Extract just the analysis section from the report
sed -n '/^=.*MEMORY SCALING/,/^=\{10,\}$/p' idle-memory-scaling-report.txt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
- name: Run saturation/scaling performance test suite
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
./scripts/run-saturation-tests.sh --output-json results/scaling-efficiency.json \
| tee saturation-scaling-report.txt
# Add scaling report to job summary
echo "### Saturation/Scaling Test Analysis" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
# Extract just the analysis section from the report
sed -n '/^=.*SCALING ANALYSIS/,/^=\{10,\}$/p' saturation-scaling-report.txt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
- name: Run single-core saturation max throughput test (OTLP)
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/continuous/saturation-max-throughput.yaml
- name: Run single-core saturation max throughput test (OTAP)
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/continuous/saturation-max-throughput-otap.yaml
- name: Run passthrough performance test (OTLP)
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/continuous/passthrough.yaml
- name: Run passthrough performance test (OTAP)
if: ${{ !cancelled() }}
run: |
cd tools/pipeline_perf_test
python orchestrator/run_orchestrator.py --config test_suites/integration/continuous/passthrough-otap.yaml
- name: Upload syslog results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: syslog-nightly-results
path: tools/pipeline_perf_test/results/nightly_syslog/gh-actions-benchmark/*.json
- name: Upload syslog TCP results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: syslog-tcp-nightly-results
path: tools/pipeline_perf_test/results/nightly_syslog_tcp/gh-actions-benchmark/*.json
- name: Upload standard load batch size results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: standardload-batch-size-nightly-results
path: tools/pipeline_perf_test/results/nightly_100klrps_batch_sizes/gh-actions-benchmark/*.json
- name: Upload backpressure results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: backpressure-nightly-results
path: tools/pipeline_perf_test/results/nightly_backpressure/gh-actions-benchmark/*.json
- name: Upload filter results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: filter-nightly-results
path: tools/pipeline_perf_test/results/nightly_filter/gh-actions-benchmark/*.json
- name: Upload batch processor results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: batch-processor-nightly-results
path: tools/pipeline_perf_test/results/nightly_batch_processor/gh-actions-benchmark/*.json
- name: Upload otelcol filter results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: filter-otelcol-results
path: tools/pipeline_perf_test/results/otelcol_filter/gh-actions-benchmark/*.json
- name: Upload otelcol syslog TCP results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: syslog-tcp-otelcol-results
path: tools/pipeline_perf_test/results/nightly_syslog_tcp_otelcol/gh-actions-benchmark/*.json
- name: Upload saturation results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: saturation-nightly-results
path: tools/pipeline_perf_test/results/continuous_saturation*/gh-actions-benchmark/*.json
- name: Upload idle state results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: idle-state-nightly-results
path: tools/pipeline_perf_test/results/idle_state*/gh-actions-benchmark/*.json
- name: Upload idle state memory scaling metrics
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: idle-memory-scaling-nightly-results
path: tools/pipeline_perf_test/results/idle-memory-scaling.json
- name: Upload scaling efficiency metrics
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: scaling-efficiency-nightly-results
path: tools/pipeline_perf_test/results/scaling-efficiency.json
- name: Upload passthrough results for processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: passthrough-nightly-results
path: tools/pipeline_perf_test/results/continuous_passthrough/gh-actions-benchmark/*.json
- name: Add benchmark link to job summary
if: ${{ !cancelled() }}
run: |
echo "### Benchmark Results" >> $GITHUB_STEP_SUMMARY
echo "[View the benchmark results here](https://open-telemetry.github.io/otel-arrow/benchmarks/nightly/)" >> $GITHUB_STEP_SUMMARY
# Bare-metal host cleanup: remove only the Docker artifacts created by
# this job. Avoid broad commands (e.g. rm -rf /tmp/*) per the shared
# runner guidelines.
- name: Clean up Docker artifacts created by this job
if: always()
run: |
docker rmi -f df_engine otelarrowcol 2>/dev/null || true
# Prune dangling (unused) build cache and images only.
docker builder prune -f 2>/dev/null || true
docker image prune -f 2>/dev/null || true
update-benchmarks:
runs-on: ubuntu-24.04
needs: [pipeline-perf-test]
if: ${{ !cancelled() }}
permissions:
# contents permission to update benchmark contents in gh-pages branch
contents: write
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Download syslog artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: syslog-nightly-results*
merge-multiple: true
path: syslog_results
- name: Download syslog TCP artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: syslog-tcp-nightly-results*
merge-multiple: true
path: syslog_tcp_results
- name: Download standard load batch size artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: standardload-batch-size-nightly-results*
merge-multiple: true
path: standardload_batch_size_results
- name: Download backpressure artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: backpressure-nightly-results*
merge-multiple: true
path: backpressure_results
- name: Download filter artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: filter-nightly-results*
merge-multiple: true
path: filter_results
- name: Download batch processor artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: batch-processor-nightly-results*
merge-multiple: true
path: batch_processor_results
- name: Download otelcol filter artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: filter-otelcol-results*
merge-multiple: true
path: filter_otelcol_results
- name: Download otelcol syslog TCP artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: syslog-tcp-otelcol-results*
merge-multiple: true
path: syslog_tcp_otelcol_results
- name: Download saturation artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: saturation-nightly-results*
merge-multiple: true
path: saturation_results
- name: Download idle state artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: idle-state-nightly-results*
merge-multiple: true
path: idle_state_results
- name: Download idle memory scaling artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: idle-memory-scaling-nightly-results*
merge-multiple: true
path: idle_memory_scaling_results
- name: Download scaling efficiency metrics
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: scaling-efficiency-nightly-results*
merge-multiple: true
path: scaling_efficiency_results
- name: Download passthrough artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: passthrough-nightly-results*
merge-multiple: true
path: passthrough_results
- name: Consolidate syslog benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh syslog_results syslog_output.json
- name: Consolidate syslog TCP benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh syslog_tcp_results syslog_tcp_output.json
- name: Consolidate standard load batch size benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh standardload_batch_size_results standardload_batch_size_output.json
- name: Consolidate backpressure benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh backpressure_results backpressure_output.json
- name: Consolidate filter benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh filter_results filter_output.json
- name: Consolidate batch processor benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh batch_processor_results batch_processor_output.json
- name: Consolidate otelcol filter benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh filter_otelcol_results filter_otelcol_output.json
- name: Consolidate otelcol syslog TCP benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh syslog_tcp_otelcol_results syslog_tcp_otelcol_output.json
- name: Consolidate saturation benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh saturation_results saturation_output.json
- name: Consolidate idle state benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh idle_state_results idle_state_output.json
- name: Consolidate passthrough benchmark data
if: ${{ !cancelled() }}
run: |
bash ./.github/workflows/scripts/consolidate-benchmarks.sh passthrough_results passthrough_output.json
- name: Update benchmark data
if: ${{ !cancelled() && hashFiles('syslog_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: syslog_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/syslog"
auto-push: true
save-data-file: true
- name: Update syslog TCP benchmark data
if: ${{ !cancelled() && hashFiles('syslog_tcp_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: syslog_tcp_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/syslog-tcp"
auto-push: true
save-data-file: true
- name: Update standard load batch size benchmark data
if: ${{ !cancelled() && hashFiles('standardload_batch_size_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: standardload_batch_size_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/standardload-batch-size"
auto-push: true
save-data-file: true
- name: Update benchmark data and deploy to GitHub Pages
if: ${{ !cancelled() && hashFiles('backpressure_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: backpressure_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/backpressure"
auto-push: true
save-data-file: true
- name: Update filter benchmark data
if: ${{ !cancelled() && hashFiles('filter_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: filter_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/filter"
auto-push: true
save-data-file: true
- name: Update batch processor benchmark data
if: ${{ !cancelled() && hashFiles('batch_processor_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: batch_processor_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/batch-processor"
auto-push: true
save-data-file: true
- name: Update filter otelcol benchmark data
if: ${{ !cancelled() && hashFiles('filter_otelcol_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: filter_otelcol_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/filter"
auto-push: true
save-data-file: true
- name: Update syslog TCP otelcol benchmark data
if: ${{ !cancelled() && hashFiles('syslog_tcp_otelcol_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: syslog_tcp_otelcol_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/syslog-tcp-otelcol"
auto-push: true
save-data-file: true
- name: Update saturation benchmark data
if: ${{ !cancelled() && hashFiles('saturation_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: saturation_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/saturation"
auto-push: true
save-data-file: true
- name: Update idle state benchmark data
if: ${{ !cancelled() && hashFiles('idle_state_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: idle_state_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/idle-state"
auto-push: true
save-data-file: true
- name: Update idle state memory scaling data
if: ${{ !cancelled() && hashFiles('idle_memory_scaling_results/idle-memory-scaling.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: idle_memory_scaling_results/idle-memory-scaling.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/idle-memory-scaling"
auto-push: true
save-data-file: true
- name: Update scaling efficiency data
if: ${{ !cancelled() && hashFiles('scaling_efficiency_results/scaling-efficiency.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customBiggerIsBetter"
output-file-path: scaling_efficiency_results/scaling-efficiency.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/nightly/scaling-efficiency"
auto-push: true
save-data-file: true
- name: Update passthrough benchmark data
if: ${{ !cancelled() && hashFiles('passthrough_output.json') != '' }}
uses: benchmark-action/github-action-benchmark@52576c92bccf6ac60c8223ec7eb2565637cae9ba # v1.22.1
with:
tool: "customSmallerIsBetter"
output-file-path: passthrough_output.json
gh-pages-branch: benchmarks
max-items-in-chart: 100
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: "docs/benchmarks/continuous-passthrough"
auto-push: true
save-data-file: true
- name: Add benchmark link to job summary
run: |
echo "### Benchmark Results" >> $GITHUB_STEP_SUMMARY
echo "[View the benchmark results here](https://open-telemetry.github.io/otel-arrow/benchmarks/nightly/)" >> $GITHUB_STEP_SUMMARY