Skip to content

Export workflow metrics (BETA) #21

Export workflow metrics (BETA)

Export workflow metrics (BETA) #21

name: Export workflow metrics (BETA)
on:
workflow_run:
workflows:
- Android ARM64 with vcpkg
- Documentation
- Cleanup PIP caches
- Code snippets
- Code Style
- Code coverage
- Coverity (Ubuntu 20.04, Python 3.11)
- Fedora (RHEL), Python 3.9
- Linux (Ubuntu 20.04, Python 3.11)
- Linux ARM64 (Ubuntu 20.04, Python 3.11)
- Linux Static CC (Ubuntu 22.04, Python 3.11, Clang)
- Linux RISC-V with Conan (Ubuntu 22.04, Python 3.10)
- macOS (Python 3.11)
- macOS ARM64 (Python 3.11)
- MO
- Python API Checks
- Webassembly
- Windows (VS 2019, Python 3.11)
- Windows Conditional Compilation (VS 2022, Python 3.11)
types:
- completed
permissions: read-all
jobs:
otel-export-trace:
name: Export finished workflow metrics
runs-on: aks-linux-2-cores-8gb
steps:
- name: Export Workflow Trace to Honeycomb
uses: inception-health/otel-export-trace-action@7eabc7de1f4753f0b45051b44bb0ba46d05a21ef
with:
otlpEndpoint: grpc://api.honeycomb.io:443/
otlpHeaders: ${{ secrets.OTLP_HEADERS }}
githubToken: ${{ secrets.GITHUB_TOKEN }}
runId: ${{ github.event.workflow_run.id }}
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: '.github'
- name: Install deps
run: |
pip3 install -r .github/scripts/requirements.txt
# dependency review action has these as an exception
# yet it still complains, so install them here
pip3 install PyGithub==2.2.0 psycopg2-binary==2.9.9
- name: Send metrics to SQL database
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUN_ID: ${{ github.event.workflow_run.id }}
PGHOST: ${{ secrets.METRICS_DATABASE_HOST }}
PGUSER: ${{ secrets.METRICS_DATABASE_USERNAME }}
PGPASSWORD: ${{ secrets.METRICS_DATABASE_PASSWORD }}
PGDATABASE: ${{ secrets.METRICS_DATABASE_NAME }}
PGPORT: 5432
# LOGLEVEL: "${{ runner.debug == '1' && 'DEBUG' || 'INFO' }}"
LOGLEVEL: DEBUG
run: |
python3 .github/scripts/collect_github_metrics.py \
--run-id ${{ github.event.workflow_run.id }} \
--repository-name ${GITHUB_REPOSITORY}