java.lang.Object
io.prometheus.metrics.core.metrics.Metric
io.prometheus.metrics.core.metrics.MetricWithFixedMetadata
io.prometheus.metrics.core.metrics.Counter
- All Implemented Interfaces:
CounterDataPoint,DataPoint,io.prometheus.metrics.model.registry.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
Nested Classes -
Field Summary
Fields inherited from class io.prometheus.metrics.core.metrics.MetricWithFixedMetadata
labelNamesFields inherited from class io.prometheus.metrics.core.metrics.Metric
constLabels -
Method Summary
Modifier and TypeMethodDescriptionstatic Counter.Builderbuilder()static Counter.Builderbuilder(io.prometheus.metrics.config.PrometheusProperties config) voidclear()Reset the metric (remove all data points).io.prometheus.metrics.model.snapshots.CounterSnapshotcollect()protected io.prometheus.metrics.model.snapshots.CounterSnapshotcollect(List<io.prometheus.metrics.model.snapshots.Labels> labels, List<io.prometheus.metrics.core.metrics.Counter.DataPoint> metricData) labels and metricData have the same size. labels.get(i) are the labels for metricData.get(i).doubleget()Get the current value.protected <P> PgetConfigProperty(io.prometheus.metrics.config.MetricsProperties[] properties, Function<io.prometheus.metrics.config.MetricsProperties, P> getter) longGet the current value as along.protected io.prometheus.metrics.config.MetricsProperties[]getMetricProperties(io.prometheus.metrics.core.metrics.StatefulMetric.Builder<?, ?> builder, io.prometheus.metrics.config.PrometheusProperties prometheusProperties) protected io.prometheus.metrics.core.metrics.Counter.DataPointvoidinc(double amount) Addamount.voidinc(long amount) Addamount.voidincWithExemplar(double amount, io.prometheus.metrics.model.snapshots.Labels labels) Addamount, and create a custom exemplar with the given labels.voidincWithExemplar(long amount, io.prometheus.metrics.model.snapshots.Labels labels) Addamount, and create a custom exemplar with the given labels.voidinitLabelValues(String... labelValues) Initialize label values.protected booleanlabelValues(String... labelValues) protected io.prometheus.metrics.core.metrics.Counter.DataPointvoidRemove the data point with the given label values.voidRemove the data points when the given function.Methods inherited from class io.prometheus.metrics.core.metrics.MetricWithFixedMetadata
getMetadata, getPrometheusNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.prometheus.metrics.model.registry.Collector
collect, collect, collectMethods inherited from interface io.prometheus.metrics.core.datapoints.CounterDataPoint
inc, incWithExemplar
-
Method Details
-
inc
public void inc(long amount) Description copied from interface:CounterDataPoint- Specified by:
incin interfaceCounterDataPoint
-
inc
public void inc(double amount) Description copied from interface:CounterDataPoint- Specified by:
incin interfaceCounterDataPoint
-
incWithExemplar
public void incWithExemplar(long amount, io.prometheus.metrics.model.snapshots.Labels labels) Description copied from interface:CounterDataPointAddamount, and create a custom exemplar with the given labels. Throws anIllegalArgumentExceptionifamountis negative.- Specified by:
incWithExemplarin interfaceCounterDataPoint
-
incWithExemplar
public void incWithExemplar(double amount, io.prometheus.metrics.model.snapshots.Labels labels) Description copied from interface:CounterDataPointAddamount, and create a custom exemplar with the given labels. Throws anIllegalArgumentExceptionifamountis negative.- Specified by:
incWithExemplarin interfaceCounterDataPoint
-
get
public double get()Description copied from interface:CounterDataPointGet the current value.- Specified by:
getin interfaceCounterDataPoint
-
getLongValue
public long getLongValue()Description copied from interface:CounterDataPointGet the current value as along. Decimal places will be discarded.- Specified by:
getLongValuein interfaceCounterDataPoint
-
collect
public io.prometheus.metrics.model.snapshots.CounterSnapshot collect()- Specified by:
collectin interfaceio.prometheus.metrics.model.registry.Collector
-
collect
protected io.prometheus.metrics.model.snapshots.CounterSnapshot collect(List<io.prometheus.metrics.model.snapshots.Labels> labels, List<io.prometheus.metrics.core.metrics.Counter.DataPoint> metricData) labels and metricData have the same size. labels.get(i) are the labels for metricData.get(i). -
isExemplarsEnabled
protected boolean isExemplarsEnabled() -
newDataPoint
protected io.prometheus.metrics.core.metrics.Counter.DataPoint newDataPoint() -
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. -
removeIf
Remove the data points when the given function. -
clear
public void clear()Reset the metric (remove all data points). -
getNoLabels
protected io.prometheus.metrics.core.metrics.Counter.DataPoint getNoLabels() -
getMetricProperties
protected io.prometheus.metrics.config.MetricsProperties[] getMetricProperties(io.prometheus.metrics.core.metrics.StatefulMetric.Builder<?, ?> builder, io.prometheus.metrics.config.PrometheusProperties prometheusProperties) -
getConfigProperty
protected <P> P getConfigProperty(io.prometheus.metrics.config.MetricsProperties[] properties, Function<io.prometheus.metrics.config.MetricsProperties, P> getter)
-