mirror of
https://github.com/restic/rest-server.git
synced 2025-10-19 07:33:21 +00:00

Exposes a few metrics for Prometheus under /metrics if started with --prometheus. Example: # HELP rest_server_blob_read_bytes_total Total number of bytes read from blobs # TYPE rest_server_blob_read_bytes_total counter rest_server_blob_read_bytes_total{repo="test",type="data"} 2.13557024e+09 rest_server_blob_read_bytes_total{repo="test",type="index"} 1.198653e+06 rest_server_blob_read_bytes_total{repo="test",type="keys"} 5388 rest_server_blob_read_bytes_total{repo="test",type="locks"} 1975 rest_server_blob_read_bytes_total{repo="test",type="snapshots"} 10018 # HELP rest_server_blob_read_total Total number of blobs read # TYPE rest_server_blob_read_total counter rest_server_blob_read_total{repo="test",type="data"} 3985 rest_server_blob_read_total{repo="test",type="index"} 21 rest_server_blob_read_total{repo="test",type="keys"} 12 rest_server_blob_read_total{repo="test",type="locks"} 12 rest_server_blob_read_total{repo="test",type="snapshots"} 32 # HELP rest_server_blob_write_bytes_total Total number of bytes written to blobs # TYPE rest_server_blob_write_bytes_total counter rest_server_blob_write_bytes_total{repo="test",type="data"} 1.063726179e+09 rest_server_blob_write_bytes_total{repo="test",type="index"} 395586 rest_server_blob_write_bytes_total{repo="test",type="locks"} 1975 rest_server_blob_write_bytes_total{repo="test",type="snapshots"} 1933 # HELP rest_server_blob_write_total Total number of blobs written # TYPE rest_server_blob_write_total counter rest_server_blob_write_total{repo="test",type="data"} 226 rest_server_blob_write_total{repo="test",type="index"} 6 rest_server_blob_write_total{repo="test",type="locks"} 12 rest_server_blob_write_total{repo="test",type="snapshots"} 6
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package restserver
|
|
|
|
import "github.com/prometheus/client_golang/prometheus"
|
|
|
|
|
|
var metricBlobWriteTotal = prometheus.NewCounterVec(
|
|
prometheus.CounterOpts{
|
|
Name: "rest_server_blob_write_total",
|
|
Help: "Total number of blobs written",
|
|
},
|
|
[]string{"repo", "type"},
|
|
)
|
|
|
|
var metricBlobWriteBytesTotal = prometheus.NewCounterVec(
|
|
prometheus.CounterOpts{
|
|
Name: "rest_server_blob_write_bytes_total",
|
|
Help: "Total number of bytes written to blobs",
|
|
},
|
|
[]string{"repo", "type"},
|
|
)
|
|
|
|
var metricBlobReadTotal = prometheus.NewCounterVec(
|
|
prometheus.CounterOpts{
|
|
Name: "rest_server_blob_read_total",
|
|
Help: "Total number of blobs read",
|
|
},
|
|
[]string{"repo", "type"},
|
|
)
|
|
|
|
var metricBlobReadBytesTotal = prometheus.NewCounterVec(
|
|
prometheus.CounterOpts{
|
|
Name: "rest_server_blob_read_bytes_total",
|
|
Help: "Total number of bytes read from blobs",
|
|
},
|
|
[]string{"repo", "type"},
|
|
)
|
|
|
|
func init() {
|
|
// These are always initialized, but only updated if Config.Prometheus is set
|
|
prometheus.MustRegister(metricBlobWriteTotal)
|
|
prometheus.MustRegister(metricBlobWriteBytesTotal)
|
|
prometheus.MustRegister(metricBlobReadTotal)
|
|
prometheus.MustRegister(metricBlobReadBytesTotal)
|
|
}
|