- All Implemented Interfaces:
DataPoint,GaugeDataPoint,TimerApi,Collector
Gauge metric.
Example usage:
Gauge currentActiveUsers = Gauge.builder()
.name("current_active_users")
.help("Number of users that are currently active")
.labelNames("region")
.register();
public void login(String region) {
currentActiveUsers.labelValues(region).inc();
// perform login
}
public void logout(String region) {
currentActiveUsers.labelValues(region).dec();
// perform logout
}
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic Gauge.Builderbuilder()static Gauge.Builderbuilder(PrometheusProperties config) voidclear()Reset the metric (remove all data points).GaugeSnapshotcollect()doubleget()Get the current value.voidinc(double amount) Addamount.voidincWithExemplar(double amount, Labels labels) Addamount, and create a custom exemplar with the given labels.voidinitLabelValues(String... labelValues) Initialize label values.labelValues(String... labelValues) voidRemove the data point with the given label values.voidset(double value) Set the gauge tovalue.voidsetWithExemplar(double value, Labels labels) Set the gauge tovalue, and create a custom exemplar with the given labels.Methods inherited from class MetricWithFixedMetadata
getPrometheusNameMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Collector
collect, collect, collectMethods inherited from interface GaugeDataPoint
dec, dec, decWithExemplar, decWithExemplar, inc, incWithExemplar, startTimerMethods inherited from interface TimerApi
time, time, timeChecked
-
Method Details
-
inc
Addamount.- Specified by:
incin interfaceGaugeDataPoint
-
get
Get the current value.- Specified by:
getin interfaceGaugeDataPoint
-
incWithExemplar
Addamount, and create a custom exemplar with the given labels.- Specified by:
incWithExemplarin interfaceGaugeDataPoint
-
set
Set the gauge tovalue.- Specified by:
setin interfaceGaugeDataPoint
-
setWithExemplar
Set the gauge tovalue, and create a custom exemplar with the given labels.- Specified by:
setWithExemplarin interfaceGaugeDataPoint
-
collect
- Specified by:
collectin interfaceCollector
-
builder
-
builder
-
initLabelValues
Initialize label values.Example: Imagine you have a counter for payments as follows
payment_transactions_total{payment_type="credit card"} 7.0 payment_transactions_total{payment_type="paypal"} 3.0Now, the data points for thepayment_typelabel values get initialized when they are first used, i.e. the first time you call
the data point with labelcounter.labelValues("paypal").inc();payment_type="paypal"will go from non-existent to having value1.0.In some cases this is confusing, and you want to have data points initialized on application start with an initial value of
0.0:payment_transactions_total{payment_type="credit card"} 0.0 payment_transactions_total{payment_type="paypal"} 0.0initLabelValues(...)can be used to initialize label value, so that the data points show up in the exposition format with an initial value of zero. -
labelValues
-
remove
Remove the data point with the given label values. See https://prometheus.io/docs/instrumenting/writing_clientlibs/#labels. -
clear
public void clear()Reset the metric (remove all data points).
-