feat: expose agent stats via Prometheus endpoint (#7115)

* WIP

* WIP

* WIP

* Agents

* fix

* 1min

* fix

* WIP

* Test

* docs

* fmt

* Add timer to measure the metrics collection

* Use CachedGaugeVec

* Unit tests

* WIP

* WIP

* db: GetWorkspaceAgentStatsAndLabels

* fmt

* WIP

* gauges

* feat: collect

* fix

* fmt

* minor fixes

* Prometheus flag

* fix

* WIP

* fix tests

* WIP

* fix json

* Rx Tx bytes

* CloseFunc

* fix

* fix

* Fixes

* fix

* fix: IgnoreErrors

* Fix: Windows

* fix

* reflect.DeepEquals
This commit is contained in:
Marcin Tojek
2023-04-14 16:14:52 +02:00
committed by GitHub
parent e0689456cb
commit 942aba3a66
20 changed files with 732 additions and 79 deletions
+1
View File
@@ -271,6 +271,7 @@ curl -X GET http://coder-server:8080/api/v2/deployment/config \
"host": "string",
"port": "string"
},
"collect_agent_stats": true,
"enable": true
},
"provisioner": {
+8 -4
View File
@@ -1901,6 +1901,7 @@ CreateParameterRequest is a structure used to create a new parameter value for a
"host": "string",
"port": "string"
},
"collect_agent_stats": true,
"enable": true
},
"provisioner": {
@@ -2244,6 +2245,7 @@ CreateParameterRequest is a structure used to create a new parameter value for a
"host": "string",
"port": "string"
},
"collect_agent_stats": true,
"enable": true
},
"provisioner": {
@@ -3155,16 +3157,18 @@ Parameter represents a set value for the scope.
"host": "string",
"port": "string"
},
"collect_agent_stats": true,
"enable": true
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
| --------- | ------------------------------------ | -------- | ------------ | ----------- |
| `address` | [clibase.HostPort](#clibasehostport) | false | | |
| `enable` | boolean | false | | |
| Name | Type | Required | Restrictions | Description |
| --------------------- | ------------------------------------ | -------- | ------------ | ----------- |
| `address` | [clibase.HostPort](#clibasehostport) | false | | |
| `collect_agent_stats` | boolean | false | | |
| `enable` | boolean | false | | |
## codersdk.ProvisionerConfig