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 Summary
Constructors Constructor Description AbstractAspectWithoutTraceRegistry() -
Method Summary
Modifier and Type Method Description voidafterReturningOperation(org.aspectj.lang.JoinPoint.StaticPart jpStaticPart)voidafterThrowing(org.aspectj.lang.JoinPoint.StaticPart jpStaticPart, java.lang.Throwable th)voidbeforeOperation(org.aspectj.lang.JoinPoint.StaticPart jpStaticPart)abstract voidmonitoredOperation()The pointcut for the monitored operations.Methods inherited from class kieker.monitoring.probe.aspectj.AbstractAspectJProbe
getter, noGetterAndSetter, notWithinKieker, setter, signatureToLongString
-
Constructor Details
-
AbstractAspectWithoutTraceRegistry
public AbstractAspectWithoutTraceRegistry()
-
-
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)
-