Documentation ¶
Index ¶
Constants ¶
const ( // Common namespace for application metrics. Namespace = "karpenter" NodePoolLabel = "nodepool" ReasonLabel = "reason" TypeLabel = "type" CapacityTypeLabel = "capacity_type" // Reasons for CREATE/DELETE shared metrics ConsolidationReason = "consolidation" ProvisioningReason = "provisioning" ExpirationReason = "expiration" EmptinessReason = "emptiness" DriftReason = "drift" )
const (
NodeSubsystem = "nodes"
)
Variables ¶
var ( NodeClaimsCreatedCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: nodeClaimSubsystem, Name: "created", Help: "Number of nodeclaims created in total by Karpenter. Labeled by reason the nodeclaim was created and the owning nodepool.", }, []string{ ReasonLabel, NodePoolLabel, CapacityTypeLabel, }, ) NodeClaimsTerminatedCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: nodeClaimSubsystem, Name: "terminated", Help: "Number of nodeclaims terminated in total by Karpenter. Labeled by reason the nodeclaim was terminated and the owning nodepool.", }, []string{ ReasonLabel, NodePoolLabel, CapacityTypeLabel, }, ) NodeClaimsLaunchedCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: nodeClaimSubsystem, Name: "launched", Help: "Number of nodeclaims launched in total by Karpenter. Labeled by the owning nodepool.", }, []string{ NodePoolLabel, }, ) NodeClaimsRegisteredCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: nodeClaimSubsystem, Name: "registered", Help: "Number of nodeclaims registered in total by Karpenter. Labeled by the owning nodepool.", }, []string{ NodePoolLabel, }, ) NodeClaimsInitializedCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: nodeClaimSubsystem, Name: "initialized", Help: "Number of nodeclaims initialized in total by Karpenter. Labeled by the owning nodepool.", }, []string{ NodePoolLabel, }, ) NodeClaimsDisruptedCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: nodeClaimSubsystem, Name: "disrupted", Help: "Number of nodeclaims disrupted in total by Karpenter. Labeled by disruption type of the nodeclaim and the owning nodepool.", }, []string{ TypeLabel, NodePoolLabel, }, ) NodeClaimsDriftedCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: nodeClaimSubsystem, Name: "drifted", Help: "Number of nodeclaims drifted reasons in total by Karpenter. Labeled by drift type of the nodeclaim and the owning nodepool.", }, []string{ TypeLabel, NodePoolLabel, }, ) NodesCreatedCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: NodeSubsystem, Name: "created", Help: "Number of nodes created in total by Karpenter. Labeled by owning nodepool.", }, []string{ NodePoolLabel, }, ) NodesTerminatedCounter = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: Namespace, Subsystem: NodeSubsystem, Name: "terminated", Help: "Number of nodes terminated in total by Karpenter. Labeled by owning nodepool.", }, []string{ NodePoolLabel, }, ) )
Functions ¶
func DurationBuckets ¶
func DurationBuckets() []float64
DurationBuckets returns a []float64 of default threshold values for duration histograms. Each returned slice is new and may be modified without impacting other bucket definitions.
func Measure ¶
func Measure(observer prometheus.Observer) func()
Measure returns a deferrable function that observes the duration between the defer statement and the end of the function.
func SummaryObjectives ¶
Returns a map of summary objectives (quantile-error pairs)
Types ¶
type Store ¶
Store is a mapping from a key to a list of Metrics Each time Update() is called for a key on Store, the metric store ensures that all metrics are "refreshed" for all currently tracked metrics assigned to the key. This means that any metric that contains the same labels as a previous metric will be updated through the standard prometheus.Gauge metric Set() call while any metric with different labels than the recently fired metrics will be removed from the prometheus client response and the Store
func (*Store) ReplaceAll ¶
func (s *Store) ReplaceAll(newStore map[string][]*StoreMetric)
ReplaceAll replaces all metrics in the store with the new metrics passes into the ReplaceAll function. This calls the update method as normal for any keys that match existing keys while removing any keys that existed in the old store but don't exist in the new store.
func (*Store) Update ¶
func (s *Store) Update(key string, metrics []*StoreMetric)
Update calls the update() method internally
type StoreMetric ¶
type StoreMetric struct { *prometheus.GaugeVec Value float64 Labels prometheus.Labels }
StoreMetric is a single state metric associated with a prometheus.GaugeVec