Package io.micrometer.core.aop
Class CountedAspect
java.lang.Object
io.micrometer.core.aop.CountedAspect
Aspect responsible for intercepting all methods annotated with the
Counted
annotation and record a few counter metrics about their execution status.- Since:
- 1.2.0
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCountedAspect
(MeterRegistry meterRegistry) Construct a new aspect with the givenmeterRegistry
along with a default tags provider.CountedAspect
(MeterRegistry meterRegistry, Function<org.aspectj.lang.ProceedingJoinPoint, Iterable<Tag>> tagsBasedOnJoinPoint) Constructs a new aspect with the givenmeterRegistry
and tags provider function. -
Method Summary
Modifier and TypeMethodDescriptioninterceptAndRecord
(org.aspectj.lang.ProceedingJoinPoint pjp, Counted counted) Intercept methods annotated with theCounted
annotation and expose a few counters about their execution status.
-
Field Details
-
DEFAULT_EXCEPTION_TAG_VALUE
- See Also:
-
RESULT_TAG_FAILURE_VALUE
- See Also:
-
RESULT_TAG_SUCCESS_VALUE
- See Also:
-
-
Constructor Details
-
CountedAspect
Construct a new aspect with the givenmeterRegistry
along with a default tags provider.- Parameters:
meterRegistry
- Where we're going register metrics.
-
CountedAspect
public CountedAspect(MeterRegistry meterRegistry, Function<org.aspectj.lang.ProceedingJoinPoint, Iterable<Tag>> tagsBasedOnJoinPoint) Constructs a new aspect with the givenmeterRegistry
and tags provider function.- Parameters:
meterRegistry
- Where we're going register metrics.tagsBasedOnJoinPoint
- A function to generate tags given a join point.
-
-
Method Details
-
interceptAndRecord
public Object interceptAndRecord(org.aspectj.lang.ProceedingJoinPoint pjp, Counted counted) throws Throwable Intercept methods annotated with theCounted
annotation and expose a few counters about their execution status. By default, this aspect records both failed and successful attempts. If theCounted.recordFailuresOnly()
is set totrue
, then the aspect would record only failed attempts. In case of a failure, the aspect tags the counter with the simple name of the thrown exception.When the annotated method returns a
CompletionStage
or any of its subclasses, the counters will be incremented only when theCompletionStage
is completed. If completed exceptionally a failure is recorded, otherwise ifCounted.recordFailuresOnly()
is set tofalse
, a success is recorded.- Parameters:
pjp
- Encapsulates some information about the intercepted area.counted
- The annotation.- Returns:
- Whatever the intercepted method returns.
- Throws:
Throwable
- When the intercepted method throws one.
-