• L
    Add Light4j plugin (#3323) · 72f07b81
    Louis Tsui 提交于
    * Add Light4J 1.6.x plug-in
    
    * Add unit test for Light4J plug-in
    
    * Add missing id to server-starter
    
    * Remove mentions of version 1.6.x
    
    Some local testing showed that the plugin successfully generated traces for a light4j project built with light-codegen v2.x. Therefore, there is no need for a separate plugin for v2.x and no distinction needs to be made with light4j v1.6.x.
    
    * Update supported light4j versions
    
    * Use ContextSnapshot to maintain trace
    
    In a typical Light4j project, the ExceptionHandler#handleRequest is the asynchronous execution point. The flow is ExceptionHandler#handleRequest -> HttpServerExchange#dispatch -> ... -> ExceptionHandler#handleRequest. This means that handleRequest is being intercepted twice and each time a LocalSpan is created. Without handling thread propagation, the trace segment gets split up.
    
    By saving a ContextSnapshot into the enhanced object (ExceptionHandler), we can determine if it is necessary to continue the segment.
    
    * Update logic for span creation in trace
    
    By default, the Light4J plugin now overrides the Undertow plugin's entry span with its own. This new entry span is created just before execution of the ExceptionHandler#handleRequest in the I/O thread. The entry span is generated here because it is considered the starting point of the Light4J handler chain.
    
    There is now also the option to enable detailed span creation when tracing requests through Light4J. These local spans mark which middleware and business handlers are involved with handling the HTTP request to a Light4J service.
    
    * Update skywalking version
    
    * Update light4j version
    
    * Fix LightInstrumentation javadoc
    
    * Remove import violating checkstyle
    
    This import was added from the link reference in the javadoc. The javadoc has now been changed to just reference the method name.
    
    * Move light4j agent config property
    
    * Sync UI
    72f07b81
Supported-list.md 4.9 KB