@Inherited
@Documented
@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.
|
java.lang.String |
description
The description of the concurrent gauge.
|
java.lang.String |
displayName
The display name of the concurrent gauge.
|
java.lang.String |
name
The name of the concurrent gauge.
|
java.lang.String[] |
tags
The tags of the concurrent gauge.
|
java.lang.String |
unit
The unit of the concurrent gauge.
|
public abstract java.lang.String name
public abstract java.lang.String[] tags
String tag must be in the form of 'key=value'. If the input is empty or does
not contain a '=' sign, the entry is ignored.Metadatapublic 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 java.lang.String displayName
Metadatapublic abstract java.lang.String description
Metadatapublic abstract java.lang.String unit
MetricUnits.NONE.Metadata,
MetricUnits