@Inherited @Documented @InterceptorBinding @Retention(value=RUNTIME) @Target(value={TYPE,CONSTRUCTOR,METHOD}) public @interface ConcurrentGauge
Given a method annotated with @ConcurrentGauge like this:
@ConcurrentGauge(name = "fancyName")
public String fancyName(String name) {
return "Sir Captain " + name;
}
A concurrent gauge with the fully qualified class name + fancyName will be created and each time the
#fancyName(String) method is invoked, the gauge will be updated.
Similarly, the same applies for a constructor annotated with @ConcurrentGauge.
Given a class annotated with @ConcurrentGauge like this:
@ConcurrentGauge
public class CGaugedBean {
public void cGaugedMethod1() {}
public void cGaugedMethod2() {}
}
A counter for the defining class will be created for each of the constructors/methods.
Each time the constructor/method is invoked, the respective gauge will be updated.
This annotation will throw an IllegalStateException if the constructor/method is invoked, but the metric no
longer exists in the MetricRegistry.| Modifier and Type | Optional Element and Description |
|---|---|
boolean |
absolute
Denotes whether to use the absolute name or use the default given name relative to the annotated class.
|
String |
description
The description of the concurrent gauge.
|
String |
displayName
The display name of the concurrent gauge.
|
String |
name
The name of the concurrent gauge.
|
String[] |
tags
The tags of the concurrent gauge.
|
String |
unit
The unit of the concurrent gauge.
|
public abstract String name
public abstract boolean absolute
true, use the given name as an absolute name. If false (default), use the given name
relative to the annotated class. When annotating a class, this must be false.public abstract String unit
MetricUnits.NONE.Metadata,
MetricUnitsCopyright © 2017 – 2020 Eclipse Foundation. All rights reserved.
Use is subject to license terms.