master
go 33 lines 947 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package couchbase
4
5 type cbMetrics struct {
6 // https://developer.couchbase.com/resources/best-practice-guides/monitoring-guide.pdf
7 BucketsBasicStats []bucketsBasicStats
8 }
9
10 func (m cbMetrics) empty() bool {
11 switch {
12 case m.hasBucketsStats():
13 return false
14 }
15 return true
16 }
17
18 func (m cbMetrics) hasBucketsStats() bool { return len(m.BucketsBasicStats) > 0 }
19
20 type bucketsBasicStats struct {
21 Name string `json:"name"`
22
23 BasicStats struct {
24 DataUsed float64 `json:"dataUsed"`
25 DiskFetches float64 `json:"diskFetches"`
26 ItemCount float64 `json:"itemCount"`
27 DiskUsed float64 `json:"diskUsed"`
28 MemUsed float64 `json:"memUsed"`
29 OpsPerSec float64 `json:"opsPerSec"`
30 QuotaPercentUsed float64 `json:"quotaPercentUsed"`
31 VbActiveNumNonResident float64 `json:"vbActiveNumNonResident"`
32 } `json:"basicStats"`
33 }