Skip to content

Commit

Permalink
Add Benchmark workflows (#5842)
Browse files Browse the repository at this point in the history
  • Loading branch information
tylerbenson authored Sep 27, 2023
1 parent f421ef1 commit aff4e12
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .github/repository-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ Same settings as above for `main`, except:

(So that bot PR branches can be deleted)

### `benchmarks`

- Everything UNCHECKED

(This branch is currently only used for directly pushing benchmarking results from the
[overhead benchmark](https://github.com/open-telemetry/opentelemetry-java/actions/workflows/benchmark.yml)
job)

## Secrets and variables > Actions

* `GPG_PASSWORD` - stored in OpenTelemetry-Java 1Password
Expand Down
74 changes: 74 additions & 0 deletions .github/workflows/benchmark-tags.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Benchmark Tags

on:
workflow_dispatch:

jobs:
sdk-benchmark:
name: Benchmark SDK
runs-on: self-hosted
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
tag-version:
- v1.6.0
- v1.7.0
- v1.7.1
- v1.10.0
- v1.10.1
- v1.11.0
- v1.12.0
- v1.13.0
- v1.14.0
- v1.15.0
- v1.16.0
- v1.17.0
- v1.18.0
- v1.19.0
- v1.21.0
- v1.22.0
- v1.23.0
- v1.23.1
- v1.24.0
- v1.25.0
- v1.26.0
- v1.27.0
- v1.28.0
- v1.29.0
- v1.30.0
- v1.30.1
steps:
- uses: actions/checkout@v4
with:
ref: ${{ matrix.tag-version }}

- id: setup-java
name: Set up Java for build
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17

- uses: gradle/gradle-build-action@v2
with:
arguments: |
jmhJar
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}

- name: Run Benchmark
run: |
cd sdk/trace/build
java -jar libs/opentelemetry-sdk-trace-*-jmh.jar -rf json SpanBenchmark SpanPipelineBenchmark ExporterBenchmark
- name: Store benchmark results
uses: benchmark-action/github-action-benchmark@v1
with:
tool: 'jmh'
output-file-path: sdk/trace/build/jmh-result.json
gh-pages-branch: benchmarks
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: ""
auto-push: true
ref: ${{ matrix.tag-version }}
43 changes: 43 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Benchmark Main

on:
push:
branches: [ main ]
workflow_dispatch:

jobs:
sdk-benchmark:
name: Benchmark SDK
runs-on: self-hosted
timeout-minutes: 10
steps:
- uses: actions/checkout@v4

- id: setup-java
name: Set up Java for build
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17

- uses: gradle/gradle-build-action@v2
with:
arguments: |
jmhJar
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}

- name: Run Benchmark
run: |
cd sdk/trace/build
java -jar libs/opentelemetry-sdk-trace-*-jmh.jar -rf json SpanBenchmark SpanPipelineBenchmark ExporterBenchmark
- name: Store benchmark results
uses: benchmark-action/github-action-benchmark@v1
with:
tool: 'jmh'
output-file-path: sdk/trace/build/jmh-result.json
gh-pages-branch: benchmarks
github-token: ${{ secrets.GITHUB_TOKEN }}
benchmark-data-dir-path: ""
auto-push: true

0 comments on commit aff4e12

Please sign in to comment.