Files
coder/scripts/metricsdocgen/README.md
T
Paweł Banaszewski f1ce1013c4 chore: export AI Gateway metrics under new branding + keep old as alias (#26413)
> AI Tools where used in this request.

Registers `coder_aibridged_*` and `coder_aibridgeproxyd_*` metrics under
new prefixes: `coder_ai_gateway_*` and `coder_ai_gateway_proxy_*`.
Old prefix is still exported. Will be removed in later release.

Also updated the `metricsdocgen` static fixture. Added 4
previously-undocumented metrics `key_pool_state`,
`key_pool_state_transitions_total`, `key_pool_exhaustions_total`,
`key_pool_failover_attempts` added the `client` label to the existing
interception, prompt, and token counter samples.

Updated AI Gateway documentation.
2026-06-17 13:10:53 +02:00

53 lines
1.9 KiB
Markdown

# Metrics Documentation Generator
This tool generates the Prometheus metrics documentation at [`docs/admin/integrations/prometheus.md`](https://coder.com/docs/admin/integrations/prometheus#available-metrics).
## How It Works
The documentation is generated from two metrics files:
1. `metrics` (static, manually maintained)
2. `generated_metrics` (auto-generated, do not edit)
These files are merged and used to produce the final documentation.
### `metrics` (static)
Contains metrics that are **not** directly defined in the coder source code:
- `go_*`: Go runtime metrics
- `process_*`: Process metrics from prometheus/client_golang
- `promhttp_*`: Prometheus HTTP handler metrics
- `coder_ai_gateway_*`: AI Gateway metrics are registered through prefixed registerer that the scanner does not resolve.
> [!Note]
> This file also contains edge cases where metric metadata cannot be accurately extracted by the scanner (e.g., labels determined by runtime logic).
> Static metrics take priority over generated metrics when both files contain the same metric name.
**Edit this file** to add metrics that should appear in the documentation but are not scanned from the coder codebase,
or to manually override metrics where the scanner generates incorrect metadata (e.g., missing runtime-determined labels like in `agent_scripts_executed_total`).
### `generated_metrics` (auto-generated)
Contains metrics extracted from the coder source code by the AST scanner (`scanner/scanner.go`).
**Do not edit this file directly.** It is regenerated by running:
```bash
make scripts/metricsdocgen/generated_metrics
```
## Updating Metrics Documentation
To regenerate the documentation after code changes:
```bash
make docs/admin/integrations/prometheus.md
```
This will:
- Run the scanner to update `generated_metrics`
- Merge `metrics` and `generated_metrics` metric files
- Update the documentation file