diff --git a/etcdserver/metrics.go b/etcdserver/metrics.go index b1f85e78f..60e5395a3 100644 --- a/etcdserver/metrics.go +++ b/etcdserver/metrics.go @@ -84,6 +84,12 @@ var ( Name: "lease_expired_total", Help: "The total number of expired leases.", }) + quotaBackendBytes = prometheus.NewGauge(prometheus.GaugeOpts{ + Namespace: "etcd", + Subsystem: "server", + Name: "quota_backend_bytes", + Help: "Current backend storage quota size in bytes.", + }) currentVersion = prometheus.NewGaugeVec(prometheus.GaugeOpts{ Namespace: "etcd", Subsystem: "server", @@ -104,6 +110,7 @@ func init() { prometheus.MustRegister(proposalsPending) prometheus.MustRegister(proposalsFailed) prometheus.MustRegister(leaseExpired) + prometheus.MustRegister(quotaBackendBytes) prometheus.MustRegister(currentVersion) currentVersion.With(prometheus.Labels{ diff --git a/etcdserver/quota.go b/etcdserver/quota.go index 1662c4b5b..737abfe11 100644 --- a/etcdserver/quota.go +++ b/etcdserver/quota.go @@ -62,6 +62,7 @@ const ( func NewBackendQuota(s *EtcdServer, name string) Quota { lg := s.getLogger() + quotaBackendBytes.Set(float64(s.Cfg.QuotaBackendBytes)) if s.Cfg.QuotaBackendBytes < 0 { // disable quotas if negative @@ -87,6 +88,7 @@ func NewBackendQuota(s *EtcdServer, name string) Quota { zap.String("quota-size", humanize.Bytes(uint64(DefaultQuotaBytes))), ) } + quotaBackendBytes.Set(float64(DefaultQuotaBytes)) return &backendQuota{s, DefaultQuotaBytes} }