Class TracepointInstrumentationService

  • All Implemented Interfaces:
    ClassFileTransformer

    public class TracepointInstrumentationService
    extends Object
    implements ClassFileTransformer
    This service deals with detecting which classes need to be transformed and uses the visitor to instrument the classes as needed.
    • Field Detail

      • COMPUTE_ON_CLASS_VERSION

        public static final long COMPUTE_ON_CLASS_VERSION
    • Constructor Detail

      • TracepointInstrumentationService

        public TracepointInstrumentationService​(Instrumentation inst,
                                                Settings settings)
        Create a new service.
        Parameters:
        inst - the instrumentation service
        settings - the deep settings
    • Method Detail

      • init

        public static TracepointInstrumentationService init​(Instrumentation inst,
                                                            Settings settings)
        Initialise the tracepoint service with the deep services.
        Parameters:
        inst - the instrumentation to use
        settings - the settings for deep
        Returns:
        the configured service
      • processBreakpoints

        public void processBreakpoints​(Collection<TracePointConfig> breakpointResponse)
        Process the new config from the services and determine which classes need to be transformed, and trigger transformation.
        Parameters:
        breakpointResponse - the new list of tracepoints that have been received from the server.
      • reTransFormCfClasses

        protected CFClassScanner reTransFormCfClasses​(Map<String,​TracePointConfig> newCFMState,
                                                      Map<String,​TracePointConfig> previousCFMState)
        Calculate the classes to scan for CFM.
        Parameters:
        newCFMState - the new CFM state
        previousCFMState - the previous CFM state
        Returns:
        the CFM class scanner