Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MustRegister ¶
func MustRegister(reg prometheus.Registerer)
func Register ¶
func Register(reg prometheus.Registerer) error
Types ¶
type CapacityUsage ¶
type CapacityUsage struct {
// contains filtered or unexported fields
}
A CapacityUsage uses two Prometheus gauge metrics, by default, "capacity_min_utilization" and "capacity_max_utilization". They represent the minimum/maximum resource utilization over the recent period of time. Each value will be between 0.0 and 1.0. They each have three labels: "resource", "domain", and "period".
func NewCapacityUsage ¶
func NewCapacityUsage( capacity float64, resource, domain, interval string, ) (*CapacityUsage, error)
NewCapacityUsage() returns a CapacityUsage with a new set of labels to record the utilization of a limited resource where this utilization might spike for a short period and so a single Prometheus Gauge is not sufficient to capture such spikes.
'capacity' is the quantity of the limited resource (e.g. the number of slots). 'resource' is the name of the resource (e.g. "span-creation-backlog"), 'domain' is the domain in which the resource resides (e.g. a workload name), and 'interval' is a string representing a time.Duration over which min and max utilization are measured.
metric.Register() or metric.MustRegister() must be called for these metrics to be exposed to be scraped by Prometheus.
func (*CapacityUsage) Record ¶
func (m *CapacityUsage) Record(used float64)
Record() records the current usage level of the limited resource. 'used' should be a value between 0 and the 'capacity' value passed to NewCapacityUsage(). Division is done to change this number to be a utilization level, a number between 0.0 and 1.0.