mirror of
https://github.com/deuxfleurs-org/garage.git
synced 2026-09-04 11:15:41 +00:00
style: use _count suffix for metrics
instead of `_counter` to follow grafana best practice. update monitoring doc and grafana json
This commit is contained in:
@@ -182,14 +182,14 @@ content-type: text/plain; version=0.0.4
|
|||||||
content-length: 12145
|
content-length: 12145
|
||||||
date: Tue, 08 Aug 2023 07:25:05 GMT
|
date: Tue, 08 Aug 2023 07:25:05 GMT
|
||||||
|
|
||||||
# HELP garage_api_admin_error_counter Number of API calls to the various Admin API endpoints that resulted in errors
|
# HELP garage_api_admin_error_count Number of API calls to the various Admin API endpoints that resulted in errors
|
||||||
# TYPE garage_api_admin_error_counter counter
|
# TYPE garage_api_admin_error_count counter
|
||||||
garage_api_admin_error_counter{api_endpoint="CheckWebsiteEnabled",status_code="400"} 1
|
garage_api_admin_error_count{api_endpoint="CheckWebsiteEnabled",status_code="400"} 1
|
||||||
garage_api_admin_error_counter{api_endpoint="CheckWebsiteEnabled",status_code="404"} 3
|
garage_api_admin_error_count{api_endpoint="CheckWebsiteEnabled",status_code="404"} 3
|
||||||
# HELP garage_api_admin_request_counter Number of API calls to the various Admin API endpoints
|
# HELP garage_api_admin_request_count Number of API calls to the various Admin API endpoints
|
||||||
# TYPE garage_api_admin_request_counter counter
|
# TYPE garage_api_admin_request_count counter
|
||||||
garage_api_admin_request_counter{api_endpoint="CheckWebsiteEnabled"} 7
|
garage_api_admin_request_count{api_endpoint="CheckWebsiteEnabled"} 7
|
||||||
garage_api_admin_request_counter{api_endpoint="Health"} 3
|
garage_api_admin_request_count{api_endpoint="Health"} 3
|
||||||
# HELP garage_api_admin_request_duration Duration of API calls to the various Admin API endpoints
|
# HELP garage_api_admin_request_duration Duration of API calls to the various Admin API endpoints
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -135,12 +135,12 @@ garage_cluster_partitions_quorum 256
|
|||||||
|
|
||||||
### Metrics of the API endpoints
|
### Metrics of the API endpoints
|
||||||
|
|
||||||
#### `garage_api_admin_request_counter` (counter)
|
#### `garage_api_admin_request_count` (counter)
|
||||||
|
|
||||||
Counts the number of requests to a given endpoint of the administration API. Example:
|
Counts the number of requests to a given endpoint of the administration API. Example:
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_api_admin_request_counter{api_endpoint="Metrics"} 127041
|
garage_api_admin_request_count{api_endpoint="Metrics"} 127041
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_api_admin_request_duration` (histogram)
|
#### `garage_api_admin_request_duration` (histogram)
|
||||||
@@ -153,20 +153,20 @@ garage_api_admin_request_duration_sum{api_endpoint="Metrics"} 605.250344830999
|
|||||||
garage_api_admin_request_duration_count{api_endpoint="Metrics"} 127041
|
garage_api_admin_request_duration_count{api_endpoint="Metrics"} 127041
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_api_s3_request_counter` (counter)
|
#### `garage_api_s3_request_count` (counter)
|
||||||
|
|
||||||
Counts the number of requests to a given endpoint of the S3 API. Example:
|
Counts the number of requests to a given endpoint of the S3 API. Example:
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_api_s3_request_counter{api_endpoint="CreateMultipartUpload"} 1
|
garage_api_s3_request_count{api_endpoint="CreateMultipartUpload"} 1
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_api_s3_error_counter` (counter)
|
#### `garage_api_s3_error_count` (counter)
|
||||||
|
|
||||||
Counts the number of requests to a given endpoint of the S3 API that returned an error. Example:
|
Counts the number of requests to a given endpoint of the S3 API that returned an error. Example:
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_api_s3_error_counter{api_endpoint="GetObject",status_code="404"} 39
|
garage_api_s3_error_count{api_endpoint="GetObject",status_code="404"} 39
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_api_s3_request_duration` (histogram)
|
#### `garage_api_s3_request_duration` (histogram)
|
||||||
@@ -179,7 +179,7 @@ garage_api_s3_request_duration_sum{api_endpoint="CreateMultipartUpload"} 0.04634
|
|||||||
garage_api_s3_request_duration_count{api_endpoint="CreateMultipartUpload"} 1
|
garage_api_s3_request_duration_count{api_endpoint="CreateMultipartUpload"} 1
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_api_k2v_request_counter` (counter), `garage_api_k2v_error_counter` (counter), `garage_api_k2v_error_duration` (histogram)
|
#### `garage_api_k2v_request_count` (counter), `garage_api_k2v_error_count` (counter), `garage_api_k2v_error_duration` (histogram)
|
||||||
|
|
||||||
Same as for S3, for the K2V API.
|
Same as for S3, for the K2V API.
|
||||||
|
|
||||||
@@ -187,12 +187,12 @@ Same as for S3, for the K2V API.
|
|||||||
### Metrics of the Web endpoint
|
### Metrics of the Web endpoint
|
||||||
|
|
||||||
|
|
||||||
#### `garage_web_request_counter` (counter)
|
#### `garage_web_request_count` (counter)
|
||||||
|
|
||||||
Number of requests to the web endpoint
|
Number of requests to the web endpoint
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_web_request_counter{method="GET"} 80
|
garage_web_request_count{method="GET"} 80
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_web_request_duration` (histogram)
|
#### `garage_web_request_duration` (histogram)
|
||||||
@@ -205,12 +205,12 @@ garage_web_request_duration_sum{method="GET"} 1.0528433229999998
|
|||||||
garage_web_request_duration_count{method="GET"} 80
|
garage_web_request_duration_count{method="GET"} 80
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_web_error_counter` (counter)
|
#### `garage_web_error_count` (counter)
|
||||||
|
|
||||||
Number of requests to the web endpoint resulting in errors
|
Number of requests to the web endpoint resulting in errors
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_web_error_counter{method="GET",status_code="404 Not Found"} 64
|
garage_web_error_count{method="GET",status_code="404 Not Found"} 64
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -257,20 +257,20 @@ garage_block_write_duration_sum 195.59170078500006
|
|||||||
garage_block_write_duration_count 3571
|
garage_block_write_duration_count 3571
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_block_delete_counter` (counter)
|
#### `garage_block_delete_count` (counter)
|
||||||
|
|
||||||
Counts the number of data blocks that have been deleted from storage.
|
Counts the number of data blocks that have been deleted from storage.
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_block_delete_counter 122
|
garage_block_delete_count 122
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_block_resync_counter` (counter), `garage_block_resync_duration` (histogram)
|
#### `garage_block_resync_count` (counter), `garage_block_resync_duration` (histogram)
|
||||||
|
|
||||||
Counts the number of resync operations the node has executed, and evaluates their duration.
|
Counts the number of resync operations the node has executed, and evaluates their duration.
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_block_resync_counter 308897
|
garage_block_resync_count 308897
|
||||||
garage_block_resync_duration_bucket{le="0.5"} 308892
|
garage_block_resync_duration_bucket{le="0.5"} 308892
|
||||||
garage_block_resync_duration_sum 139.64204196100016
|
garage_block_resync_duration_sum 139.64204196100016
|
||||||
garage_block_resync_duration_count 308897
|
garage_block_resync_duration_count 308897
|
||||||
@@ -298,28 +298,28 @@ garage_block_resync_errored_blocks 0
|
|||||||
|
|
||||||
### Metrics related to RPCs (remote procedure calls) between nodes
|
### Metrics related to RPCs (remote procedure calls) between nodes
|
||||||
|
|
||||||
#### `garage_rpc_netapp_request_counter` (counter)
|
#### `garage_rpc_netapp_request_count` (counter)
|
||||||
|
|
||||||
Number of RPC requests emitted
|
Number of RPC requests emitted
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_rpc_request_counter{from="<this node>",rpc_endpoint="garage_block/manager.rs/Rpc",to="<remote node>"} 176
|
garage_rpc_request_count{from="<this node>",rpc_endpoint="garage_block/manager.rs/Rpc",to="<remote node>"} 176
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_rpc_netapp_error_counter` (counter)
|
#### `garage_rpc_netapp_error_count` (counter)
|
||||||
|
|
||||||
Number of communication errors (errors in the Netapp library, generally due to disconnected nodes)
|
Number of communication errors (errors in the Netapp library, generally due to disconnected nodes)
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_rpc_netapp_error_counter{from="<this node>",rpc_endpoint="garage_block/manager.rs/Rpc",to="<remote node>"} 354
|
garage_rpc_netapp_error_count{from="<this node>",rpc_endpoint="garage_block/manager.rs/Rpc",to="<remote node>"} 354
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_rpc_timeout_counter` (counter)
|
#### `garage_rpc_timeout_count` (counter)
|
||||||
|
|
||||||
Number of RPC timeouts, should be close to zero in a healthy cluster.
|
Number of RPC timeouts, should be close to zero in a healthy cluster.
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_rpc_timeout_counter{from="<this node>",rpc_endpoint="garage_rpc/membership.rs/SystemRpc",to="<remote node>"} 1
|
garage_rpc_timeout_count{from="<this node>",rpc_endpoint="garage_rpc/membership.rs/SystemRpc",to="<remote node>"} 1
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_rpc_duration` (histogram)
|
#### `garage_rpc_duration` (histogram)
|
||||||
@@ -343,43 +343,43 @@ Table garbage collector TODO queue length
|
|||||||
garage_table_gc_todo_queue_length{table_name="block_ref"} 0
|
garage_table_gc_todo_queue_length{table_name="block_ref"} 0
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_table_get_request_counter` (counter), `garage_table_get_request_duration` (histogram)
|
#### `garage_table_get_request_count` (counter), `garage_table_get_request_duration` (histogram)
|
||||||
|
|
||||||
Number of get/get_range requests internally made on each table, and their duration.
|
Number of get/get_range requests internally made on each table, and their duration.
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_table_get_request_counter{table_name="bucket_alias"} 315
|
garage_table_get_request_count{table_name="bucket_alias"} 315
|
||||||
garage_table_get_request_duration_bucket{table_name="bucket_alias",le="0.5"} 315
|
garage_table_get_request_duration_bucket{table_name="bucket_alias",le="0.5"} 315
|
||||||
garage_table_get_request_duration_sum{table_name="bucket_alias"} 0.048509778000000024
|
garage_table_get_request_duration_sum{table_name="bucket_alias"} 0.048509778000000024
|
||||||
garage_table_get_request_duration_count{table_name="bucket_alias"} 315
|
garage_table_get_request_duration_count{table_name="bucket_alias"} 315
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
#### `garage_table_put_request_counter` (counter), `garage_table_put_request_duration` (histogram)
|
#### `garage_table_put_request_count` (counter), `garage_table_put_request_duration` (histogram)
|
||||||
|
|
||||||
Number of insert/insert_many requests internally made on this table, and their duration
|
Number of insert/insert_many requests internally made on this table, and their duration
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_table_put_request_counter{table_name="block_ref"} 677
|
garage_table_put_request_count{table_name="block_ref"} 677
|
||||||
garage_table_put_request_duration_bucket{table_name="block_ref",le="0.5"} 677
|
garage_table_put_request_duration_bucket{table_name="block_ref",le="0.5"} 677
|
||||||
garage_table_put_request_duration_sum{table_name="block_ref"} 61.617528636
|
garage_table_put_request_duration_sum{table_name="block_ref"} 61.617528636
|
||||||
garage_table_put_request_duration_count{table_name="block_ref"} 677
|
garage_table_put_request_duration_count{table_name="block_ref"} 677
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_table_internal_delete_counter` (counter)
|
#### `garage_table_internal_delete_count` (counter)
|
||||||
|
|
||||||
Number of value deletions in the tree (due to GC or repartitioning)
|
Number of value deletions in the tree (due to GC or repartitioning)
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_table_internal_delete_counter{table_name="block_ref"} 2296
|
garage_table_internal_delete_count{table_name="block_ref"} 2296
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_table_internal_update_counter` (counter)
|
#### `garage_table_internal_update_count` (counter)
|
||||||
|
|
||||||
Number of value updates where the value actually changes (includes creation of new key and update of existing key)
|
Number of value updates where the value actually changes (includes creation of new key and update of existing key)
|
||||||
|
|
||||||
```
|
```
|
||||||
garage_table_internal_update_counter{table_name="block_ref"} 5996
|
garage_table_internal_update_count{table_name="block_ref"} 5996
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `garage_table_merkle_updater_todo_queue_length` (gauge)
|
#### `garage_table_merkle_updater_todo_queue_length` (gauge)
|
||||||
|
|||||||
@@ -161,7 +161,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_api_request_counter",
|
"field": "garage_api_request_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -412,7 +412,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_api_error_counter",
|
"field": "garage_api_error_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -540,7 +540,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_web_request_counter",
|
"field": "garage_web_request_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -794,7 +794,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_web_error_counter",
|
"field": "garage_web_error_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -918,7 +918,7 @@
|
|||||||
"hide": false,
|
"hide": false,
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_table_get_request_counter",
|
"field": "garage_table_get_request_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -1042,7 +1042,7 @@
|
|||||||
"hide": false,
|
"hide": false,
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_table_put_request_counter",
|
"field": "garage_table_put_request_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -1386,7 +1386,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_block_resync_counter",
|
"field": "garage_block_resync_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -1824,7 +1824,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_block_resync_error_counter",
|
"field": "garage_block_resync_error_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"settings": {},
|
"settings": {},
|
||||||
@@ -2041,7 +2041,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_block_corruption_counter",
|
"field": "garage_block_corruption_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -2165,7 +2165,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_rpc_netapp_error_counter",
|
"field": "garage_rpc_netapp_error_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -2292,7 +2292,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_rpc_request_counter",
|
"field": "garage_rpc_request_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -2654,7 +2654,7 @@
|
|||||||
},
|
},
|
||||||
"metrics": [
|
"metrics": [
|
||||||
{
|
{
|
||||||
"field": "garage_rpc_garage_error_counter",
|
"field": "garage_rpc_garage_error_count",
|
||||||
"hide": true,
|
"hide": true,
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "sum"
|
"type": "sum"
|
||||||
@@ -2995,4 +2995,4 @@
|
|||||||
"uid": "ODT8K4B7e",
|
"uid": "ODT8K4B7e",
|
||||||
"version": 7,
|
"version": 7,
|
||||||
"weekStart": ""
|
"weekStart": ""
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -250,7 +250,7 @@
|
|||||||
},
|
},
|
||||||
"editorMode": "code",
|
"editorMode": "code",
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "sum by (api_endpoint) (rate(garage_api_s3_request_counter {job=\"garage\"}[$__rate_interval]))",
|
"expr": "sum by (api_endpoint) (rate(garage_api_s3_request_count {job=\"garage\"}[$__rate_interval]))",
|
||||||
"hide": false,
|
"hide": false,
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "{{api_endpoint}}",
|
"legendFormat": "{{api_endpoint}}",
|
||||||
@@ -345,7 +345,7 @@
|
|||||||
"uid": "${DS_DS_PROMETHEUS}"
|
"uid": "${DS_DS_PROMETHEUS}"
|
||||||
},
|
},
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "sum(rate(garage_web_request_counter {job=\"garage\"}[$__rate_interval]))",
|
"expr": "sum(rate(garage_web_request_count {job=\"garage\"}[$__rate_interval]))",
|
||||||
"hide": false,
|
"hide": false,
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "Web request rate",
|
"legendFormat": "Web request rate",
|
||||||
@@ -439,7 +439,7 @@
|
|||||||
"uid": "${DS_DS_PROMETHEUS}"
|
"uid": "${DS_DS_PROMETHEUS}"
|
||||||
},
|
},
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "sum by (rpc_endpoint) (rate(garage_rpc_request_counter {job=\"garage\"}[$__rate_interval]))",
|
"expr": "sum by (rpc_endpoint) (rate(garage_rpc_request_count {job=\"garage\"}[$__rate_interval]))",
|
||||||
"hide": false,
|
"hide": false,
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "{{rpc_endpoint}}",
|
"legendFormat": "{{rpc_endpoint}}",
|
||||||
@@ -534,7 +534,7 @@
|
|||||||
},
|
},
|
||||||
"editorMode": "code",
|
"editorMode": "code",
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "sum by (api_endpoint, status_code) (rate(garage_api_s3_error_counter {job=\"garage\"}[$__rate_interval]))",
|
"expr": "sum by (api_endpoint, status_code) (rate(garage_api_s3_error_count {job=\"garage\"}[$__rate_interval]))",
|
||||||
"hide": false,
|
"hide": false,
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "{{api_endpoint}} {{status_code}}",
|
"legendFormat": "{{api_endpoint}} {{status_code}}",
|
||||||
|
|||||||
@@ -84,14 +84,14 @@ impl<A: ApiHandler> ApiServer<A> {
|
|||||||
region,
|
region,
|
||||||
api_handler,
|
api_handler,
|
||||||
request_counter: meter
|
request_counter: meter
|
||||||
.u64_counter(format!("garage_api.{}.request_counter", A::API_NAME))
|
.u64_counter(format!("garage_api.{}.request_count", A::API_NAME))
|
||||||
.with_description(format!(
|
.with_description(format!(
|
||||||
"Number of API calls to the various {} API endpoints",
|
"Number of API calls to the various {} API endpoints",
|
||||||
A::API_NAME_DISPLAY
|
A::API_NAME_DISPLAY
|
||||||
))
|
))
|
||||||
.init(),
|
.init(),
|
||||||
error_counter: meter
|
error_counter: meter
|
||||||
.u64_counter(format!("garage_api.{}.error_counter", A::API_NAME))
|
.u64_counter(format!("garage_api.{}.error_count", A::API_NAME))
|
||||||
.with_description(format!(
|
.with_description(format!(
|
||||||
"Number of API calls to the various {} API endpoints that resulted in errors",
|
"Number of API calls to the various {} API endpoints that resulted in errors",
|
||||||
A::API_NAME_DISPLAY
|
A::API_NAME_DISPLAY
|
||||||
|
|||||||
@@ -86,12 +86,12 @@ impl BlockManagerMetrics {
|
|||||||
.init(),
|
.init(),
|
||||||
|
|
||||||
resync_counter: meter
|
resync_counter: meter
|
||||||
.u64_counter("garage_block.resync_counter")
|
.u64_counter("garage_block.resync_count")
|
||||||
.with_description("Number of calls to resync_block")
|
.with_description("Number of calls to resync_block")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[]),
|
.bind(&[]),
|
||||||
resync_error_counter: meter
|
resync_error_counter: meter
|
||||||
.u64_counter("garage_block.resync_error_counter")
|
.u64_counter("garage_block.resync_error_count")
|
||||||
.with_description("Number of calls to resync_block that returned an error")
|
.with_description("Number of calls to resync_block that returned an error")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[]),
|
.bind(&[]),
|
||||||
@@ -101,11 +101,11 @@ impl BlockManagerMetrics {
|
|||||||
.init()
|
.init()
|
||||||
.bind(&[]),
|
.bind(&[]),
|
||||||
resync_send_counter: meter
|
resync_send_counter: meter
|
||||||
.u64_counter("garage_block.resync_send_counter")
|
.u64_counter("garage_block.resync_send_count")
|
||||||
.with_description("Number of blocks sent to another node in resync operations")
|
.with_description("Number of blocks sent to another node in resync operations")
|
||||||
.init(),
|
.init(),
|
||||||
resync_recv_counter: meter
|
resync_recv_counter: meter
|
||||||
.u64_counter("garage_block.resync_recv_counter")
|
.u64_counter("garage_block.resync_recv_count")
|
||||||
.with_description("Number of blocks received from other nodes in resync operations")
|
.with_description("Number of blocks received from other nodes in resync operations")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[]),
|
.bind(&[]),
|
||||||
@@ -136,13 +136,13 @@ impl BlockManagerMetrics {
|
|||||||
.init()
|
.init()
|
||||||
.bind(&[]),
|
.bind(&[]),
|
||||||
delete_counter: meter
|
delete_counter: meter
|
||||||
.u64_counter("garage_block.delete_counter")
|
.u64_counter("garage_block.delete_count")
|
||||||
.with_description("Number of blocks deleted")
|
.with_description("Number of blocks deleted")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[]),
|
.bind(&[]),
|
||||||
|
|
||||||
corruption_counter: meter
|
corruption_counter: meter
|
||||||
.u64_counter("garage_block.corruption_counter")
|
.u64_counter("garage_block.corruption_count")
|
||||||
.with_description("Data corruptions detected on block reads")
|
.with_description("Data corruptions detected on block reads")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[]),
|
.bind(&[]),
|
||||||
|
|||||||
+4
-4
@@ -14,19 +14,19 @@ impl RpcMetrics {
|
|||||||
let meter = global::meter("garage_rpc");
|
let meter = global::meter("garage_rpc");
|
||||||
RpcMetrics {
|
RpcMetrics {
|
||||||
rpc_counter: meter
|
rpc_counter: meter
|
||||||
.u64_counter("garage_rpc.request_counter")
|
.u64_counter("garage_rpc.request_count")
|
||||||
.with_description("Number of RPC requests emitted")
|
.with_description("Number of RPC requests emitted")
|
||||||
.init(),
|
.init(),
|
||||||
rpc_timeout_counter: meter
|
rpc_timeout_counter: meter
|
||||||
.u64_counter("garage_rpc.timeout_counter")
|
.u64_counter("garage_rpc.timeout_count")
|
||||||
.with_description("Number of RPC timeouts")
|
.with_description("Number of RPC timeouts")
|
||||||
.init(),
|
.init(),
|
||||||
rpc_netapp_error_counter: meter
|
rpc_netapp_error_counter: meter
|
||||||
.u64_counter("garage_rpc.netapp_error_counter")
|
.u64_counter("garage_rpc.netapp_error_count")
|
||||||
.with_description("Number of communication errors (errors in the Netapp library)")
|
.with_description("Number of communication errors (errors in the Netapp library)")
|
||||||
.init(),
|
.init(),
|
||||||
rpc_garage_error_counter: meter
|
rpc_garage_error_counter: meter
|
||||||
.u64_counter("garage_rpc.garage_error_counter")
|
.u64_counter("garage_rpc.garage_error_count")
|
||||||
.with_description("Number of RPC errors (errors happening when handling the RPC)")
|
.with_description("Number of RPC errors (errors happening when handling the RPC)")
|
||||||
.init(),
|
.init(),
|
||||||
rpc_duration: meter
|
rpc_duration: meter
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ impl TableMetrics {
|
|||||||
.init(),
|
.init(),
|
||||||
|
|
||||||
get_request_counter: meter
|
get_request_counter: meter
|
||||||
.u64_counter("garage_table.get_request_counter")
|
.u64_counter("garage_table.get_request_count")
|
||||||
.with_description("Number of get/get_range requests internally made on this table")
|
.with_description("Number of get/get_range requests internally made on this table")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[KeyValue::new("table_name", table_name)]),
|
.bind(&[KeyValue::new("table_name", table_name)]),
|
||||||
@@ -114,7 +114,7 @@ impl TableMetrics {
|
|||||||
.init()
|
.init()
|
||||||
.bind(&[KeyValue::new("table_name", table_name)]),
|
.bind(&[KeyValue::new("table_name", table_name)]),
|
||||||
put_request_counter: meter
|
put_request_counter: meter
|
||||||
.u64_counter("garage_table.put_request_counter")
|
.u64_counter("garage_table.put_request_count")
|
||||||
.with_description("Number of insert/insert_many requests internally made on this table")
|
.with_description("Number of insert/insert_many requests internally made on this table")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[KeyValue::new("table_name", table_name)]),
|
.bind(&[KeyValue::new("table_name", table_name)]),
|
||||||
@@ -125,12 +125,12 @@ impl TableMetrics {
|
|||||||
.bind(&[KeyValue::new("table_name", table_name)]),
|
.bind(&[KeyValue::new("table_name", table_name)]),
|
||||||
|
|
||||||
internal_update_counter: meter
|
internal_update_counter: meter
|
||||||
.u64_counter("garage_table.internal_update_counter")
|
.u64_counter("garage_table.internal_update_count")
|
||||||
.with_description("Number of value updates where the value actually changes (includes creation of new key and update of existing key)")
|
.with_description("Number of value updates where the value actually changes (includes creation of new key and update of existing key)")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[KeyValue::new("table_name", table_name)]),
|
.bind(&[KeyValue::new("table_name", table_name)]),
|
||||||
internal_delete_counter: meter
|
internal_delete_counter: meter
|
||||||
.u64_counter("garage_table.internal_delete_counter")
|
.u64_counter("garage_table.internal_delete_count")
|
||||||
.with_description("Number of value deletions in the tree (due to GC or repartitioning)")
|
.with_description("Number of value deletions in the tree (due to GC or repartitioning)")
|
||||||
.init()
|
.init()
|
||||||
.bind(&[KeyValue::new("table_name", table_name)]),
|
.bind(&[KeyValue::new("table_name", table_name)]),
|
||||||
|
|||||||
@@ -54,11 +54,11 @@ impl WebMetrics {
|
|||||||
let meter = global::meter("garage/web");
|
let meter = global::meter("garage/web");
|
||||||
Self {
|
Self {
|
||||||
request_counter: meter
|
request_counter: meter
|
||||||
.u64_counter("garage_web.request_counter")
|
.u64_counter("garage_web.request_count")
|
||||||
.with_description("Number of requests to the web endpoint")
|
.with_description("Number of requests to the web endpoint")
|
||||||
.init(),
|
.init(),
|
||||||
error_counter: meter
|
error_counter: meter
|
||||||
.u64_counter("garage_web.error_counter")
|
.u64_counter("garage_web.error_count")
|
||||||
.with_description("Number of requests to the web endpoint resulting in errors")
|
.with_description("Number of requests to the web endpoint resulting in errors")
|
||||||
.init(),
|
.init(),
|
||||||
request_duration: meter
|
request_duration: meter
|
||||||
|
|||||||
Reference in New Issue
Block a user