Class CountedAspect


  • @NonNullApi
    public class CountedAspect
    extends java.lang.Object
    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:
    Counted
    • Constructor Summary

      Constructors 
      Constructor Description
      CountedAspect​(MeterRegistry meterRegistry)
      Construct a new aspect with the given meterRegistry along with a default tags provider.
      CountedAspect​(MeterRegistry meterRegistry, java.util.function.Function<org.aspectj.lang.ProceedingJoinPoint,​java.lang.Iterable<Tag>> tagsBasedOnJoinPoint)
      Constructs a new aspect with the given meterRegistry and tags provider function.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object interceptAndRecord​(org.aspectj.lang.ProceedingJoinPoint pjp, Counted counted)
      Intercept methods annotated with the Counted annotation and expose a few counters about their execution status.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CountedAspect

        public CountedAspect​(MeterRegistry meterRegistry)
        Construct a new aspect with the given meterRegistry along with a default tags provider.
        Parameters:
        meterRegistry - Where we're going register metrics.
      • CountedAspect

        public CountedAspect​(MeterRegistry meterRegistry,
                             java.util.function.Function<org.aspectj.lang.ProceedingJoinPoint,​java.lang.Iterable<Tag>> tagsBasedOnJoinPoint)
        Constructs a new aspect with the given meterRegistry and tags provider function.
        Parameters:
        meterRegistry - Where we're going register metrics.
        tagsBasedOnJoinPoint - A function to generate tags given a join point.
    • Method Detail

      • interceptAndRecord

        public java.lang.Object interceptAndRecord​(org.aspectj.lang.ProceedingJoinPoint pjp,
                                                   Counted counted)
                                            throws java.lang.Throwable
        Intercept methods annotated with the Counted annotation and expose a few counters about their execution status. By default, this aspect records both failed and successful attempts. If the Counted.recordFailuresOnly() is set to true, 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.
        Parameters:
        pjp - Encapsulates some information about the intercepted area.
        counted - The annotation.
        Returns:
        Whatever the intercepted method returns.
        Throws:
        java.lang.Throwable - When the intercepted method throws one.