Class AbstractControllerInstrumentation

java.lang.Object
org.apache.skywalking.apm.agent.core.plugin.AbstractClassEnhancePluginDefine
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassEnhancePluginDefine
org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine
org.apache.skywalking.apm.plugin.spring.mvc.v6.define.AbstractSpring6Instrumentation
org.apache.skywalking.apm.plugin.spring.mvc.v6.define.AbstractControllerInstrumentation
Direct Known Subclasses:
ControllerInstrumentation, RestControllerInstrumentation

public abstract class AbstractControllerInstrumentation extends AbstractSpring6Instrumentation
ControllerInstrumentation enhance all constructor and method annotated with org.springframework.web.bind.annotation.RequestMapping that class has org.springframework.stereotype.Controller annotation. ControllerConstructorInterceptor set the controller base path to dynamic field before execute constructor. org.apache.skywalking.apm.plugin.spring.mvc.commons.interceptor.RequestMappingMethodInterceptor get the request path from dynamic field first, if not found, RequestMappingMethodInterceptor generate request path that combine the path value of current annotation on current method and the base path and set the new path to the dynamic filed
  • Field Summary

    Fields inherited from class org.apache.skywalking.apm.plugin.spring.mvc.v6.define.AbstractSpring6Instrumentation

    WITNESS_CLASSES

    Fields inherited from class org.apache.skywalking.apm.agent.core.plugin.AbstractClassEnhancePluginDefine

    CONTEXT_ATTR_NAME
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch
     
    org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint[]
     
    protected abstract String[]
     
    org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint[]
     

    Methods inherited from class org.apache.skywalking.apm.plugin.spring.mvc.v6.define.AbstractSpring6Instrumentation

    witnessClasses

    Methods inherited from class org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine

    getStaticMethodsInterceptPoints

    Methods inherited from class org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassEnhancePluginDefine

    enhanceClass, enhanceInstance, getInstanceMethodsInterceptV2Points, getStaticMethodsInterceptV2Points

    Methods inherited from class org.apache.skywalking.apm.agent.core.plugin.AbstractClassEnhancePluginDefine

    define, enhance, getPluginName, isBootstrapInstrumentation, setPluginName, witnessMethods

    Methods inherited from class java.lang.Object

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

    • AbstractControllerInstrumentation

      public AbstractControllerInstrumentation()
  • Method Details

    • getConstructorsInterceptPoints

      public org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint[] getConstructorsInterceptPoints()
      Specified by:
      getConstructorsInterceptPoints in class org.apache.skywalking.apm.agent.core.plugin.AbstractClassEnhancePluginDefine
    • getInstanceMethodsInterceptPoints

      public org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints()
      Specified by:
      getInstanceMethodsInterceptPoints in class org.apache.skywalking.apm.agent.core.plugin.AbstractClassEnhancePluginDefine
    • enhanceClass

      protected org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch enhanceClass()
      Specified by:
      enhanceClass in class org.apache.skywalking.apm.agent.core.plugin.AbstractClassEnhancePluginDefine
    • getEnhanceAnnotations

      protected abstract String[] getEnhanceAnnotations()