Class AbstractAspectWithoutTraceRegistry

java.lang.Object
kieker.monitoring.probe.aspectj.AbstractAspectJProbe
kieker.monitoring.probe.aspectj.beforeafter.onlycallee.AbstractAspectWithoutTraceRegistry
All Implemented Interfaces:
kieker.monitoring.probe.IMonitoringProbe

public abstract class AbstractAspectWithoutTraceRegistry
extends AbstractAspectJProbe
This aspect spawns before and after events by foregoing an around advice. Instead, it uses before and after advices only so that "cflow" can be used when specifying its pointcut. This implementation uses JoinPoint.StaticPart instead of JoinPoint in the advices for performance reasons:
If you only need the static information about the join point, you may access the static part of the join point directly with the special variable thisJoinPointStaticPart. Using thisJoinPointStaticPart will avoid the run-time creation of the join point object that may be necessary when using thisJoinPoint directly.
This implementation avoids the usage of a trace id. Instead, it passes the thread id to the event records. The combination of the before/after events, the thread id, and the order index is sufficient to reconstruct different traces of the same thread.
Since:
1.13
  • Constructor Details

  • Method Details

    • monitoredOperation

      public abstract void monitoredOperation()
      The pointcut for the monitored operations. Inheriting classes should extend the pointcut in order to find the correct executions of the methods (e.g. all methods or only methods with specific annotations).
    • beforeOperation

      public void beforeOperation​(org.aspectj.lang.JoinPoint.StaticPart jpStaticPart)
    • afterReturningOperation

      public void afterReturningOperation​(org.aspectj.lang.JoinPoint.StaticPart jpStaticPart)
    • afterThrowing

      public void afterThrowing​(org.aspectj.lang.JoinPoint.StaticPart jpStaticPart, java.lang.Throwable th)