Class Counter
Object
Metric
MetricWithFixedMetadata
Counter
- All Implemented Interfaces:
CounterDataPoint
,DataPoint
,Collector
Counter metric.
Example usage:
Counter requestCount = Counter.builder()
.name("requests_total")
.help("Total number of requests")
.labelNames("path", "status")
.register();
requestCount.labelValues("/hello-world", "200").inc();
requestCount.labelValues("/hello-world", "500").inc();
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Counter.Builder
builder()
static Counter.Builder
builder
(PrometheusProperties config) void
clear()
Reset the metric (remove all data points).collect()
Called when the Prometheus server scrapes metrics.double
get()
Get the current value.long
Get the current value as along
.void
inc
(double amount) Addamount
.void
inc
(long amount) Addamount
.void
incWithExemplar
(double amount, Labels labels) Addamount
, and create a custom exemplar with the given labels.void
incWithExemplar
(long amount, Labels labels) Addamount
, and create a custom exemplar with the given labels.void
initLabelValues
(String... labelValues) Initialize label values.labelValues
(String... labelValues) void
Remove the data point with the given label values.Methods inherited from class MetricWithFixedMetadata
getPrometheusName
Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface CounterDataPoint
inc, incWithExemplar
-
Method Details
-
inc
Description copied from interface:CounterDataPoint
- Specified by:
inc
in interfaceCounterDataPoint
-
inc
Description copied from interface:CounterDataPoint
- Specified by:
inc
in interfaceCounterDataPoint
-
incWithExemplar
Description copied from interface:CounterDataPoint
Addamount
, and create a custom exemplar with the given labels. Throws anIllegalArgumentException
ifamount
is negative.- Specified by:
incWithExemplar
in interfaceCounterDataPoint
-
incWithExemplar
Description copied from interface:CounterDataPoint
Addamount
, and create a custom exemplar with the given labels. Throws anIllegalArgumentException
ifamount
is negative.- Specified by:
incWithExemplar
in interfaceCounterDataPoint
-
get
Description copied from interface:CounterDataPoint
Get the current value.- Specified by:
get
in interfaceCounterDataPoint
-
getLongValue
Description copied from interface:CounterDataPoint
Get the current value as along
. Decimal places will be discarded.- Specified by:
getLongValue
in interfaceCounterDataPoint
-
collect
Description copied from interface:Collector
Called when the Prometheus server scrapes metrics. -
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.0
Now, the data points for thepayment_type
label 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.0
initLabelValues(...)
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).
-