mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
> 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.
53 lines
1.9 KiB
Markdown
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
|