mirror of
https://github.com/n8n-io/n8n
synced 2026-04-30 20:17:20 +00:00
1.5 KiB
1.5 KiB
CI Telemetry
Pipeline: GitHub Actions → Webhook → n8n → BigQuery
Standard Data Points
All telemetry includes these fields for correlation:
// Git context
git.sha // GITHUB_SHA (first 8 chars)
git.branch // GITHUB_HEAD_REF ?? GITHUB_REF_NAME
git.pr // PR number from GITHUB_REF
// CI context
ci.runId // GITHUB_RUN_ID
ci.job // GITHUB_JOB
ci.workflow // GITHUB_WORKFLOW
ci.attempt // GITHUB_RUN_ATTEMPT
// Runner detection
runner.provider // 'github' | 'blacksmith' | 'local'
runner.cpuCores // os.cpus().length
runner.memoryGb // os.totalmem()
Runner provider logic:
if (!process.env.CI) return 'local';
if (process.env.RUNNER_ENVIRONMENT === 'github-hosted') return 'github';
return 'blacksmith';
Implementations
| Telemetry | Source | Metrics |
|---|---|---|
| Build stats | .github/scripts/send-build-stats.mjs |
Per-package build time, cache hits |
| Docker stats | .github/scripts/send-docker-stats.mjs |
Image size, compiled artifact size, docker build time |
| Container stack | packages/testing/containers/telemetry.ts |
E2E startup times |
Secrets
BUILD_STATS_WEBHOOK_URL
BUILD_STATS_WEBHOOK_USER
BUILD_STATS_WEBHOOK_PASSWORD # Alphanumeric + hyphens only (no $!#@)
DOCKER_STATS_WEBHOOK_URL
Adding New Telemetry
- Copy data point helpers from
send-build-stats.mjs - Create n8n workflow: Webhook (Basic Auth) → Code (flatten) → BigQuery
- Add secrets to GitHub