Class ImperativeMethodInvocationProcessor

java.lang.Object
io.micrometer.tracing.annotation.ImperativeMethodInvocationProcessor
All Implemented Interfaces:
MethodInvocationProcessor

public class ImperativeMethodInvocationProcessor extends Object
Method Invocation processor for imperative code. Code ported from Spring Cloud Sleuth.
Since:
1.1.0
  • Constructor Details

    • ImperativeMethodInvocationProcessor

      public ImperativeMethodInvocationProcessor(NewSpanParser newSpanParser, Tracer tracer, Function<Class<? extends io.micrometer.common.annotation.ValueResolver>,? extends io.micrometer.common.annotation.ValueResolver> resolverProvider, Function<Class<? extends io.micrometer.common.annotation.ValueExpressionResolver>,? extends io.micrometer.common.annotation.ValueExpressionResolver> expressionResolverProvider)
      Creates a new instance of ImperativeMethodInvocationProcessor.
      Parameters:
      newSpanParser - new span parser
      tracer - tracer
      resolverProvider - converts a class into an instance of resolver provider
      expressionResolverProvider - converts a class into an instance of expression resolver provider
    • ImperativeMethodInvocationProcessor

      public ImperativeMethodInvocationProcessor(NewSpanParser newSpanParser, Tracer tracer)
      Creates a new instance of ImperativeMethodInvocationProcessor.
      Parameters:
      newSpanParser - new span parser
      tracer - tracer
    • ImperativeMethodInvocationProcessor

      public ImperativeMethodInvocationProcessor(NewSpanParser newSpanParser, Tracer tracer, @Nullable SpanTagAnnotationHandler spanTagAnnotationHandler)
      Creates a new instance of ImperativeMethodInvocationProcessor.
      Parameters:
      newSpanParser - new span parser
      tracer - tracer
      spanTagAnnotationHandler - resolves tags to be added to the span from the annotations
  • Method Details

    • process

      public Object process(org.aopalliance.intercept.MethodInvocation invocation, NewSpan newSpan, ContinueSpan continueSpan) throws Throwable
      Description copied from interface: MethodInvocationProcessor
      Executes the annotated method.
      Parameters:
      invocation - method invocation
      newSpan - annotation
      continueSpan - annotation
      Returns:
      executed method result
      Throws:
      Throwable - exception upon running a method
    • setSpanTagAnnotationHandler

      public void setSpanTagAnnotationHandler(SpanTagAnnotationHandler spanTagAnnotationHandler)
      Setting this enables support for SpanTag.
      Parameters:
      spanTagAnnotationHandler - span tag annotation handler