Annotation Type ConcurrentGauge
-
@Inherited @Documented @InterceptorBinding @Retention(RUNTIME) @Target({TYPE,CONSTRUCTOR,METHOD}) public @interface ConcurrentGauge
An annotation for marking a method, constructor, or class as concurrent gauged. The metric will be registered in the application MetricRegistry. A concurrent gauge has the following semantics:- Upon entering the marked item, the value is increased.
- Upon exiting the marked item, the value is decreased.
Given a method annotated with @ConcurrentGauge like this:
A concurrent gauge with the fully qualified class name +@ConcurrentGauge(name = "fancyName") public String fancyName(String name) { return "Sir Captain " + 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:
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.@ConcurrentGauge public class CGaugedBean { public void cGaugedMethod1() {} public void cGaugedMethod2() {} }
- Since:
- 2.0
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element 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.boolean
reusable
Denotes if this metric instance can be reused by multiple registrations.java.lang.String[]
tags
The tags of the concurrent gauge.java.lang.String
unit
The unit of the concurrent gauge.
-
-
-
-
tags
java.lang.String[] tags
The tags of the concurrent gauge.- Returns:
- The tags of the concurrent gauge. Each
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. - See Also:
Metadata
- Default:
- {}
-
-
-
absolute
boolean absolute
Denotes whether to use the absolute name or use the default given name relative to the annotated class.- Returns:
- If
true
, use the given name as an absolute name. Iffalse
(default), use the given name relative to the annotated class. When annotating a class, this must befalse
.
- Default:
- false
-
-
-
displayName
java.lang.String displayName
The display name of the concurrent gauge.- Returns:
- The display name of the concurrent gauge.
- See Also:
Metadata
- Default:
- ""
-
-
-
description
java.lang.String description
The description of the concurrent gauge.- Returns:
- The description of the concurrent gauge.
- See Also:
Metadata
- Default:
- ""
-
-
-
unit
java.lang.String unit
The unit of the concurrent gauge.- Returns:
- The unit of the concurrent gauge. By default, the value is
MetricUnits.NONE
. - See Also:
Metadata
,MetricUnits
- Default:
- "none"
-
-