719032b19f
Update Schema / Update configuration json schema (push) Has been cancelled
Memory Benchmark / Memory Test (Full Analysis) (push) Has been cancelled
CI Quality / Lint GitHub Actions (actionlint) (push) Has been cancelled
CI Quality / Lint GitHub Actions (zizmor) (push) Has been cancelled
CI Quality / Check typos (push) Has been cancelled
CI / Test coverage (push) Has been cancelled
CI / Test (22.x, windows-latest) (push) Has been cancelled
CI / Test (24.x, macos-latest) (push) Has been cancelled
CI / Test (24.x, ubuntu-latest) (push) Has been cancelled
CI / Test (24.x, windows-latest) (push) Has been cancelled
CI / Test (26.x, macos-latest) (push) Has been cancelled
CI / Test (26.x, ubuntu-latest) (push) Has been cancelled
CI / Test (26.x, windows-latest) (push) Has been cancelled
CI / Test with Bun (latest, macos-latest) (push) Has been cancelled
CI / Test with Bun (latest, ubuntu-latest) (push) Has been cancelled
CI / Test with Bun (latest, windows-latest) (push) Has been cancelled
CI / Build and run (22.x, macos-latest) (push) Has been cancelled
CI / Build and run (22.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (22.x, windows-latest) (push) Has been cancelled
autofix.ci / autofix (push) Has been cancelled
CI Browser Extension / Lint Browser Extension (push) Has been cancelled
CI Browser Extension / Test Browser Extension (push) Has been cancelled
Memory Benchmark / Memory Test (push) Has been cancelled
CI Website / Lint Website Client (push) Has been cancelled
CI Website / Lint Website Server (push) Has been cancelled
CI Website / Test Website Server (push) Has been cancelled
CI Website / Bundle Website Server (push) Has been cancelled
CI / Lint Biome (push) Has been cancelled
CI / Lint oxlint (push) Has been cancelled
CI / Lint TypeScript (push) Has been cancelled
CI / Lint Secretlint (push) Has been cancelled
CI / Test (22.x, macos-latest) (push) Has been cancelled
CI / Test (22.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (24.x, macos-latest) (push) Has been cancelled
CI / Build and run (24.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (24.x, windows-latest) (push) Has been cancelled
CI / Build and run (26.x, macos-latest) (push) Has been cancelled
CI / Build and run (26.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (26.x, windows-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, macos-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, ubuntu-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Docker / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Docker / build (linux/arm/v7, ubuntu-24.04-arm) (push) Has been cancelled
Docker / build (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Docker / merge (push) Has been cancelled
Pack repository with Repomix / pack-repo (push) Has been cancelled
Performance Benchmark History / Benchmark (macos-latest) (push) Has been cancelled
Performance Benchmark History / Benchmark (ubuntu-latest) (push) Has been cancelled
Performance Benchmark History / Benchmark (windows-latest) (push) Has been cancelled
Performance Benchmark History / Store Results (push) Has been cancelled
Test Repomix Action / Test Node.js 22 (push) Has been cancelled
Test Repomix Action / Test Node.js 24 (push) Has been cancelled
Test Repomix Action / Test Node.js 26 (push) Has been cancelled
61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
# Repomix server monitoring
|
|
|
|
Cloud Monitoring dashboard definition for `repomix-server-us`.
|
|
|
|
Log-based metrics used by the dashboard are managed directly in the GCP Console
|
|
(`logging.googleapis.com/user/oom_terminations` and `container_killed`). They
|
|
persist on the project and do not need to be redefined here.
|
|
|
|
## Turnstile siteverify metrics
|
|
|
|
The dashboard's "Turnstile siteverify latency" and "Turnstile siteverify
|
|
outcomes" widgets depend on two log-based metrics. Definitions live in
|
|
`metrics/` and are applied once per project:
|
|
|
|
```bash
|
|
gcloud logging metrics create turnstile_siteverify_duration \
|
|
--config-from-file=metrics/turnstile_siteverify_duration.yaml \
|
|
--project=repomix
|
|
|
|
gcloud logging metrics create turnstile_siteverify_outcomes \
|
|
--config-from-file=metrics/turnstile_siteverify_outcomes.yaml \
|
|
--project=repomix
|
|
```
|
|
|
|
To update an existing metric (e.g. after editing the filter or buckets),
|
|
swap `create` for `update`. Both metrics filter on `siteverifyDurationMs`
|
|
field presence so success and failure paths are captured uniformly; the
|
|
`outcome` and `reason` labels on the counter metric drive the breakdown
|
|
in the "outcomes" widget.
|
|
|
|
Pre-network rejections (`secret_missing`, `missing_token`,
|
|
`token_too_long`) intentionally don't carry `siteverifyDurationMs` —
|
|
they short-circuit before the timer starts, so they're excluded from
|
|
both metrics. Those reject reasons still appear in the existing
|
|
`pack_requests` metric (under `outcome=turnstile_failed`) for
|
|
operational counting, just not in the latency distribution.
|
|
|
|
The metric filter pins `service_name="repomix-server-us"`, so requests
|
|
served from any future region (`-eu`, `-asia`) silently drop out of the
|
|
distribution until either the filter is broadened or per-region
|
|
counterparts are applied. Surface this in the migration plan when
|
|
adding the next region.
|
|
|
|
To verify a YAML edit was actually applied to the live metric (gcloud
|
|
update is silent on no-op vs effective change):
|
|
|
|
```bash
|
|
gcloud logging metrics describe turnstile_siteverify_duration --project=repomix
|
|
```
|
|
|
|
## Apply the dashboard
|
|
|
|
```bash
|
|
# Create
|
|
gcloud monitoring dashboards create --config-from-file=dashboard.json --project=repomix
|
|
|
|
# Update (use the dashboard ID from `gcloud monitoring dashboards list`)
|
|
gcloud monitoring dashboards update projects/repomix/dashboards/<ID> \
|
|
--config-from-file=dashboard.json --project=repomix
|
|
```
|