Merge pull request #830 from apache/fix/javadoc
Fix javadoc for preparing for our first ASF release.
This commit is contained in:
commit
e72f668bfb
|
|
@ -10,4 +10,5 @@ before_install:
|
|||
install:
|
||||
- jdk_switcher use oraclejdk8
|
||||
- mvn clean install --quiet jacoco:report coveralls:report
|
||||
- mvn clean javadoc:javadoc -Dmaven.test.skip=true --quiet
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
|
|||
/**
|
||||
* {@link TraceIdConverter} is a log4j2 plugin, by annotation as {@link Plugin}.
|
||||
* It convert the pattern key: traceId.
|
||||
* Use '%traceId' in log4j2's config: <PatternLayout pattern="%d [%traceId] %-5p %c{1}:%L - %m%n"/>,
|
||||
* Use '%traceId' in log4j2's config.
|
||||
* '%traceId' will output as TID:xxxx
|
||||
* <p>
|
||||
* Created by wusheng on 2016/12/7.
|
||||
|
|
|
|||
|
|
@ -41,11 +41,10 @@ public class DataCarrier<T> {
|
|||
}
|
||||
|
||||
/**
|
||||
* set a new IDataPartitioner. It will cover the current one or default one.(Default is {@link
|
||||
* SimpleRollingPartitioner)}
|
||||
* set a new IDataPartitioner. It will cover the current one or default one.(Default is {@link SimpleRollingPartitioner}
|
||||
*
|
||||
* @param dataPartitioner
|
||||
* @return
|
||||
* @param dataPartitioner to partition data into different channel by some rules.
|
||||
* @return DataCarrier instance for chain
|
||||
*/
|
||||
public DataCarrier setPartitioner(IDataPartitioner<T> dataPartitioner) {
|
||||
this.channels.setPartitioner(dataPartitioner);
|
||||
|
|
@ -53,7 +52,7 @@ public class DataCarrier<T> {
|
|||
}
|
||||
|
||||
/**
|
||||
* override the strategy at runtime. Notice, {@link Channels<T>} will override several channels one by one.
|
||||
* override the strategy at runtime. Notice, {@link Channels} will override several channels one by one.
|
||||
*
|
||||
* @param strategy
|
||||
*/
|
||||
|
|
@ -84,7 +83,7 @@ public class DataCarrier<T> {
|
|||
}
|
||||
|
||||
/**
|
||||
* set consumers to this Carrier. consumer begin to run when {@link DataCarrier<T>#produce(T)} begin to work.
|
||||
* set consumers to this Carrier. consumer begin to run when {@link DataCarrier#produce} begin to work.
|
||||
*
|
||||
* @param consumerClass class of consumer
|
||||
* @param num number of consumer threads
|
||||
|
|
@ -99,7 +98,7 @@ public class DataCarrier<T> {
|
|||
}
|
||||
|
||||
/**
|
||||
* set consumers to this Carrier. consumer begin to run when {@link DataCarrier<T>#produce(T)} begin to work with 20
|
||||
* set consumers to this Carrier. consumer begin to run when {@link DataCarrier#produce} begin to work with 20
|
||||
* millis consume cycle.
|
||||
*
|
||||
* @param consumerClass class of consumer
|
||||
|
|
@ -110,7 +109,7 @@ public class DataCarrier<T> {
|
|||
}
|
||||
|
||||
/**
|
||||
* set consumers to this Carrier. consumer begin to run when {@link DataCarrier<T>#produce(T)} begin to work.
|
||||
* set consumers to this Carrier. consumer begin to run when {@link DataCarrier#produce} begin to work.
|
||||
*
|
||||
* @param consumer single instance of consumer, all consumer threads will all use this instance.
|
||||
* @param num number of consumer threads
|
||||
|
|
@ -126,7 +125,7 @@ public class DataCarrier<T> {
|
|||
}
|
||||
|
||||
/**
|
||||
* set consumers to this Carrier. consumer begin to run when {@link DataCarrier<T>#produce(T)} begin to work with 20
|
||||
* set consumers to this Carrier. consumer begin to run when {@link DataCarrier#produce} begin to work with 20
|
||||
* millis consume cycle.
|
||||
*
|
||||
* @param consumer single instance of consumer, all consumer threads will all use this instance.
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ public class Config {
|
|||
/**
|
||||
* Log files directory. Default is blank string, means, use "system.out" to output logs.
|
||||
*
|
||||
* @see {@link WriterFactory#getLogWriter()}
|
||||
* Ref to {@link WriterFactory#getLogWriter()}
|
||||
*/
|
||||
public static String DIR = "";
|
||||
|
||||
|
|
@ -129,8 +129,6 @@ public class Config {
|
|||
|
||||
/**
|
||||
* The log level. Default is debug.
|
||||
*
|
||||
* @see {@link LogLevel}
|
||||
*/
|
||||
public static LogLevel LEVEL = LogLevel.DEBUG;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
package org.apache.skywalking.apm.agent.core.conf;
|
||||
|
||||
import java.io.File;
|
||||
|
|
@ -37,7 +36,6 @@ import org.apache.skywalking.apm.util.StringUtil;
|
|||
* The <code>SnifferConfigInitializer</code> initializes all configs in several way.
|
||||
*
|
||||
* @author wusheng
|
||||
* @see {@link #initialize()}, to learn more about how to initialzie.
|
||||
*/
|
||||
public class SnifferConfigInitializer {
|
||||
private static final ILog logger = LogManager.getLogger(SnifferConfigInitializer.class);
|
||||
|
|
|
|||
|
|
@ -20,9 +20,6 @@
|
|||
package org.apache.skywalking.apm.agent.core.context;
|
||||
|
||||
import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan;
|
||||
import org.apache.skywalking.apm.agent.core.context.trace.EntrySpan;
|
||||
import org.apache.skywalking.apm.agent.core.context.trace.ExitSpan;
|
||||
import org.apache.skywalking.apm.agent.core.context.trace.LocalSpan;
|
||||
|
||||
/**
|
||||
* The <code>AbstractTracerContext</code> represents the tracer context manager.
|
||||
|
|
@ -35,7 +32,6 @@ public interface AbstractTracerContext {
|
|||
* How to initialize the carrier, depends on the implementation.
|
||||
*
|
||||
* @param carrier to carry the context for crossing process.
|
||||
* @see {@link TracingContext} and {@link IgnoredTracerContext}
|
||||
*/
|
||||
void inject(ContextCarrier carrier);
|
||||
|
||||
|
|
@ -44,7 +40,6 @@ public interface AbstractTracerContext {
|
|||
* How to build, depends on the implementation.
|
||||
*
|
||||
* @param carrier carried the context from a cross-process segment.
|
||||
* @see {@link TracingContext} and {@link IgnoredTracerContext}
|
||||
*/
|
||||
void extract(ContextCarrier carrier);
|
||||
|
||||
|
|
@ -54,7 +49,6 @@ public interface AbstractTracerContext {
|
|||
* How to build, depends on the implementation.
|
||||
*
|
||||
* @return the {@link ContextSnapshot} , which includes the reference context.
|
||||
* @see {@link TracingContext} and {@link IgnoredTracerContext}
|
||||
*/
|
||||
ContextSnapshot capture();
|
||||
|
||||
|
|
@ -63,7 +57,6 @@ public interface AbstractTracerContext {
|
|||
* How to build, depends on the implementation.
|
||||
*
|
||||
* @param snapshot from {@link #capture()} in the parent thread.
|
||||
* @see {@link TracingContext} and {@link IgnoredTracerContext}
|
||||
*/
|
||||
void continued(ContextSnapshot snapshot);
|
||||
|
||||
|
|
@ -72,7 +65,6 @@ public interface AbstractTracerContext {
|
|||
* How to build, depends on the implementation.
|
||||
*
|
||||
* @return the string represents the id.
|
||||
* @see {@link TracingContext} and {@link IgnoredTracerContext}
|
||||
*/
|
||||
String getReadableGlobalTraceId();
|
||||
|
||||
|
|
@ -81,7 +73,6 @@ public interface AbstractTracerContext {
|
|||
*
|
||||
* @param operationName most likely a service name
|
||||
* @return the span represents an entry point of this segment.
|
||||
* @see {@link EntrySpan} if the implementation is {@link TracingContext}
|
||||
*/
|
||||
AbstractSpan createEntrySpan(String operationName);
|
||||
|
||||
|
|
@ -90,7 +81,6 @@ public interface AbstractTracerContext {
|
|||
*
|
||||
* @param operationName most likely a local method signature, or business name.
|
||||
* @return the span represents a local logic block.
|
||||
* @see {@link LocalSpan} if the implementation is {@link TracingContext}
|
||||
*/
|
||||
AbstractSpan createLocalSpan(String operationName);
|
||||
|
||||
|
|
@ -100,7 +90,6 @@ public interface AbstractTracerContext {
|
|||
* @param operationName most likely a service name of remote
|
||||
* @param remotePeer the network id(ip:port, hostname:port or ip1:port1,ip2,port, etc.)
|
||||
* @return the span represent an exit point of this segment.
|
||||
* @see {@link ExitSpan} if the implementation is {@link TracingContext}
|
||||
*/
|
||||
AbstractSpan createExitSpan(String operationName, String remotePeer);
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
package org.apache.skywalking.apm.agent.core.context;
|
||||
|
||||
import org.apache.skywalking.apm.agent.core.boot.BootService;
|
||||
|
|
@ -34,8 +33,8 @@ import org.apache.skywalking.apm.util.StringUtil;
|
|||
/**
|
||||
* {@link ContextManager} controls the whole context of {@link TraceSegment}. Any {@link TraceSegment} relates to
|
||||
* single-thread, so this context use {@link ThreadLocal} to maintain the context, and make sure, since a {@link
|
||||
* TraceSegment} starts, all ChildOf spans are in the same context. <p> What is 'ChildOf'? {@see
|
||||
* https://github.com/opentracing/specification/blob/master/specification.md#references-between-spans}
|
||||
* TraceSegment} starts, all ChildOf spans are in the same context. <p> What is 'ChildOf'?
|
||||
* https://github.com/opentracing/specification/blob/master/specification.md#references-between-spans
|
||||
*
|
||||
* <p> Also, {@link ContextManager} delegates to all {@link AbstractTracerContext}'s major methods.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -94,8 +94,8 @@ public class TracingContext implements AbstractTracerContext {
|
|||
* Inject the context into the given carrier, only when the active span is an exit one.
|
||||
*
|
||||
* @param carrier to carry the context for crossing process.
|
||||
* @throws IllegalStateException, if the active span isn't an exit one.
|
||||
* @see {@link AbstractTracerContext#inject(ContextCarrier)}
|
||||
* @throws IllegalStateException if the active span isn't an exit one.
|
||||
* Ref to {@link AbstractTracerContext#inject(ContextCarrier)}
|
||||
*/
|
||||
@Override
|
||||
public void inject(ContextCarrier carrier) {
|
||||
|
|
@ -155,7 +155,7 @@ public class TracingContext implements AbstractTracerContext {
|
|||
* Extract the carrier to build the reference for the pre segment.
|
||||
*
|
||||
* @param carrier carried the context from a cross-process segment.
|
||||
* @see {@link AbstractTracerContext#extract(ContextCarrier)}
|
||||
* Ref to {@link AbstractTracerContext#extract(ContextCarrier)}
|
||||
*/
|
||||
@Override
|
||||
public void extract(ContextCarrier carrier) {
|
||||
|
|
@ -172,7 +172,7 @@ public class TracingContext implements AbstractTracerContext {
|
|||
* Capture the snapshot of current context.
|
||||
*
|
||||
* @return the snapshot of context for cross-thread propagation
|
||||
* @see {@link AbstractTracerContext#capture()}
|
||||
* Ref to {@link AbstractTracerContext#capture()}
|
||||
*/
|
||||
@Override
|
||||
public ContextSnapshot capture() {
|
||||
|
|
@ -214,7 +214,7 @@ public class TracingContext implements AbstractTracerContext {
|
|||
* Continue the context from the given snapshot of parent thread.
|
||||
*
|
||||
* @param snapshot from {@link #capture()} in the parent thread.
|
||||
* @see {@link AbstractTracerContext#continued(ContextSnapshot)}
|
||||
* Ref to {@link AbstractTracerContext#continued(ContextSnapshot)}
|
||||
*/
|
||||
@Override
|
||||
public void continued(ContextSnapshot snapshot) {
|
||||
|
|
@ -237,7 +237,7 @@ public class TracingContext implements AbstractTracerContext {
|
|||
*
|
||||
* @param operationName most likely a service name
|
||||
* @return span instance.
|
||||
* @see {@link EntrySpan}
|
||||
* Ref to {@link EntrySpan}
|
||||
*/
|
||||
@Override
|
||||
public AbstractSpan createEntrySpan(final String operationName) {
|
||||
|
|
@ -285,7 +285,7 @@ public class TracingContext implements AbstractTracerContext {
|
|||
*
|
||||
* @param operationName most likely a local method signature, or business name.
|
||||
* @return the span represents a local logic block.
|
||||
* @see {@link LocalSpan}
|
||||
* Ref to {@link LocalSpan}
|
||||
*/
|
||||
@Override
|
||||
public AbstractSpan createLocalSpan(final String operationName) {
|
||||
|
|
@ -318,7 +318,7 @@ public class TracingContext implements AbstractTracerContext {
|
|||
* @param operationName most likely a service name of remote
|
||||
* @param remotePeer the network id(ip:port, hostname:port or ip1:port1,ip2,port, etc.)
|
||||
* @return the span represent an exit point of this segment.
|
||||
* @see {@link ExitSpan}
|
||||
* @see ExitSpan
|
||||
*/
|
||||
@Override
|
||||
public AbstractSpan createExitSpan(final String operationName, final String remotePeer) {
|
||||
|
|
@ -443,7 +443,7 @@ public class TracingContext implements AbstractTracerContext {
|
|||
|
||||
/**
|
||||
* The <code>ListenerManager</code> represents an event notify for every registered listener, which are notified
|
||||
* when the <cdoe>TracingContext</cdoe> finished, and {@link #segment} is ready for further process.
|
||||
* when the <code>TracingContext</code> finished, and {@link #segment} is ready for further process.
|
||||
*/
|
||||
public static class ListenerManager {
|
||||
private static List<TracingContextListener> LISTENERS = new LinkedList<TracingContextListener>();
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
package org.apache.skywalking.apm.agent.core.context.ids;
|
||||
|
||||
import java.util.Random;
|
||||
|
|
@ -42,8 +41,8 @@ public final class GlobalIdGenerator {
|
|||
*
|
||||
* The second one represents thread id. (most likely just an integer value, would be helpful in protobuf)
|
||||
*
|
||||
* The third one also has two parts,<br/>
|
||||
* 1) a timestamp, measured in milliseconds<br/>
|
||||
* The third one also has two parts,
|
||||
* 1) a timestamp, measured in milliseconds
|
||||
* 2) a seq, in current thread, between 0(included) and 9999(included)
|
||||
*
|
||||
* Notice, a long costs 8 bytes, three longs cost 24 bytes. And at the same time, a char costs 2 bytes. So
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ public abstract class AbstractTracingSpan implements AbstractSpan {
|
|||
protected String componentName;
|
||||
|
||||
/**
|
||||
* Log is a concept from OpenTracing spec. <p> {@see https://github.com/opentracing/specification/blob/master/specification.md#log-structured-data}
|
||||
* Log is a concept from OpenTracing spec. https://github.com/opentracing/specification/blob/master/specification.md#log-structured-data
|
||||
*/
|
||||
protected List<LogDataEntity> logs;
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ import org.apache.skywalking.apm.network.trace.component.Component;
|
|||
*
|
||||
* But with the last <code>EntrySpan</code>'s tags and logs, which have more details about a service provider.
|
||||
*
|
||||
* Such as: Tomcat Embed -> Dubbox The <code>EntrySpan</code> represents the Dubbox span.
|
||||
* Such as: Tomcat Embed - Dubbox The <code>EntrySpan</code> represents the Dubbox span.
|
||||
*
|
||||
* @author wusheng
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ import org.apache.skywalking.apm.network.trace.component.Component;
|
|||
*
|
||||
* The <code>ExitSpan</code> only presents the first one.
|
||||
*
|
||||
* Such as: Dubbox -> Apache Httpcomponent -> ....(Remote)
|
||||
* Such as: Dubbox - Apache Httpcomponent - ...(Remote)
|
||||
* The <code>ExitSpan</code> represents the Dubbox span, and ignore the httpcomponent span's info.
|
||||
*
|
||||
* @author wusheng
|
||||
|
|
|
|||
|
|
@ -22,16 +22,16 @@ package org.apache.skywalking.apm.agent.core.context.trace;
|
|||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import org.apache.skywalking.apm.agent.core.conf.RemoteDownstreamConfig;
|
||||
import org.apache.skywalking.apm.agent.core.context.ids.DistributedTraceIds;
|
||||
import org.apache.skywalking.apm.agent.core.context.ids.ID;
|
||||
import org.apache.skywalking.apm.agent.core.context.ids.DistributedTraceId;
|
||||
import org.apache.skywalking.apm.agent.core.context.ids.DistributedTraceIds;
|
||||
import org.apache.skywalking.apm.agent.core.context.ids.GlobalIdGenerator;
|
||||
import org.apache.skywalking.apm.agent.core.context.ids.ID;
|
||||
import org.apache.skywalking.apm.agent.core.context.ids.NewDistributedTraceId;
|
||||
import org.apache.skywalking.apm.network.proto.TraceSegmentObject;
|
||||
import org.apache.skywalking.apm.network.proto.UpstreamSegment;
|
||||
|
||||
/**
|
||||
* {@link TraceSegment} is a segment or fragment of the distributed trace. {@see https://github.com/opentracing/specification/blob/master/specification.md#the-opentracing-data-model}
|
||||
* {@link TraceSegment} is a segment or fragment of the distributed trace. See https://github.com/opentracing/specification/blob/master/specification.md#the-opentracing-data-model
|
||||
* A {@link TraceSegment} means the segment, which exists in current {@link Thread}. And the distributed trace is formed
|
||||
* by multi {@link TraceSegment}s, because the distributed trace crosses multi-processes, multi-threads. <p>
|
||||
*
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public abstract class AbstractClassEnhancePluginDefine {
|
|||
* @param builder byte-buddy's builder to manipulate target class's bytecode.
|
||||
* @param classLoader load the given transformClass
|
||||
* @return the new builder, or <code>null</code> if not be enhanced.
|
||||
* @throws PluginException, when set builder failure.
|
||||
* @throws PluginException when set builder failure.
|
||||
*/
|
||||
public DynamicType.Builder<?> define(String transformClassName,
|
||||
DynamicType.Builder<?> builder, ClassLoader classLoader, EnhanceContext context) throws PluginException {
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public class ArgumentTypeNameMatch implements ElementMatcher<MethodDescription>
|
|||
|
||||
/**
|
||||
* The static method to create {@link ArgumentTypeNameMatch}
|
||||
* This is a delegate method to follow byte-buddy {@link ElementMatcher<MethodDescription>}'s code style.
|
||||
* This is a delegate method to follow byte-buddy {@link ElementMatcher}'s code style.
|
||||
*
|
||||
* @param index the index of arguments list.
|
||||
* @param argumentTypeName target argument type
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.StaticMethodsInte
|
|||
/**
|
||||
* Plugins, which only need enhance class static methods. Actually, inherit from {@link
|
||||
* ClassInstanceMethodsEnhancePluginDefine} has no differences with inherit from {@link ClassEnhancePluginDefine}. Just
|
||||
* override {@link ClassEnhancePluginDefine#getStaticMethodsInterceptPoints}, and return {@link null}, which means
|
||||
* override {@link ClassEnhancePluginDefine#getStaticMethodsInterceptPoints}, and return NULL, which means
|
||||
* nothing to enhance.
|
||||
*
|
||||
* @author wusheng
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterc
|
|||
* Plugins, which only need enhance class static methods. Actually, inherit from {@link
|
||||
* ClassStaticMethodsEnhancePluginDefine} has no differences with inherit from {@link ClassEnhancePluginDefine}. Just
|
||||
* override {@link ClassEnhancePluginDefine#getConstructorsInterceptPoints} and {@link
|
||||
* ClassEnhancePluginDefine#getInstanceMethodsInterceptPoints}, and return {@link null}, which means nothing to
|
||||
* ClassEnhancePluginDefine#getInstanceMethodsInterceptPoints}, and return NULL, which means nothing to
|
||||
* enhance.
|
||||
*
|
||||
* @author wusheng
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ public interface InstanceMethodsAroundInterceptor {
|
|||
/**
|
||||
* called before target method invocation.
|
||||
*
|
||||
* @param method
|
||||
* @param result change this result, if you want to truncate the method.
|
||||
* @throws Throwable
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -16,13 +16,14 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
package org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/**
|
||||
* This is a method return value manipulator. When a interceptor's method, such as {@link
|
||||
* InstanceMethodsAroundInterceptor#beforeMethod(org.apache.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext,
|
||||
* InstanceMethodInvokeContext, MethodInterceptResult)}, has this as a method argument, the interceptor can manipulate
|
||||
* This is a method return value manipulator. When a interceptor's method, such as
|
||||
* {@link InstanceMethodsAroundInterceptor#beforeMethod(EnhancedInstance, Method, Object[], Class[], MethodInterceptResult)} (org.apache.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext,
|
||||
* has this as a method argument, the interceptor can manipulate
|
||||
* the method's return value. <p> The new value set to this object, by {@link MethodInterceptResult#defineReturnValue(Object)},
|
||||
* will override the origin return value.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import org.apache.skywalking.apm.util.RunnableWithExceptionProtection;
|
|||
* have been traced, but, considering CPU cost of serialization/deserialization, and network bandwidth, the agent do NOT
|
||||
* send all of them to collector, if SAMPLING is on.
|
||||
* <p>
|
||||
* By default, SAMPLING is on, and {@see {@link Config.Agent#SAMPLE_N_PER_3_SECS }}
|
||||
* By default, SAMPLING is on, and {@link Config.Agent#SAMPLE_N_PER_3_SECS }
|
||||
*
|
||||
* @author wusheng
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -21,12 +21,8 @@ package org.apache.skywalking.apm.plugin.jdbc.h2;
|
|||
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
||||
|
||||
/**
|
||||
* {@link PooledJdbcConnectionConstructorInterceptor } store {@link ConnectionInfo}
|
||||
* when the client new instance of {@link org.h2.jdbcx.JdbcXAConnection$PooledJdbcConnection}.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
public class PooledJdbcConnectionConstructorInterceptor implements InstanceConstructorInterceptor {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
|||
|
||||
/**
|
||||
* {@link AbstractConnectionInstrumentation} define how to enhance the following methods that the class which extend
|
||||
* {@link java.sql.Connection}. <br/>
|
||||
* {@link java.sql.Connection}.
|
||||
*
|
||||
* 1. Enhance <code>prepareStatement</code> by <code>org.apache.skywalking.apm.plugin.jdbc.define.JDBCPrepareStatementInterceptor</code>
|
||||
* 3. Enhance <code>prepareCall</code> by <code>org.apache.skywalking.apm.plugin.jdbc.define.JDBCPrepareCallInterceptor</code>
|
||||
|
|
|
|||
|
|
@ -21,9 +21,6 @@ package org.apache.skywalking.apm.plugin.httpClient.v4.define;
|
|||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.HttpRequest;
|
||||
import org.apache.http.protocol.HttpContext;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
|
||||
|
|
@ -32,7 +29,7 @@ import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName
|
|||
|
||||
/**
|
||||
* {@link AbstractHttpClientInstrumentation} presents that skywalking intercepts
|
||||
* {@link org.apache.http.impl.client.AbstractHttpClient#doExecute(HttpHost, HttpRequest, HttpContext)}
|
||||
* AbstractHttpClient#doExecute
|
||||
* by using {@link HttpClientInstrumentation#INTERCEPT_CLASS}.
|
||||
*
|
||||
* @author zhangxin
|
||||
|
|
@ -47,9 +44,8 @@ public class AbstractHttpClientInstrumentation extends HttpClientInstrumentation
|
|||
}
|
||||
|
||||
/**
|
||||
* version 4.2, intercept method: execute, intercept<br/>
|
||||
* public final HttpResponse execute(HttpHost target, HttpRequest request,
|
||||
* HttpContext context)<br/>
|
||||
* version 4.2, intercept method: execute, intercept
|
||||
* public final HttpResponse execute(HttpHost target, HttpRequest request, HttpContext context)
|
||||
*/
|
||||
@Override
|
||||
protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
|
||||
|
|
|
|||
|
|
@ -16,14 +16,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
package org.apache.skywalking.apm.plugin.httpClient.v4.define;
|
||||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
||||
|
||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
||||
|
|
@ -35,8 +34,8 @@ public class DefaultRequestDirectorInstrumentation extends HttpClientInstrumenta
|
|||
private static final String ENHANCE_CLASS = "org.apache.http.impl.client.DefaultRequestDirector";
|
||||
|
||||
/**
|
||||
* DefaultRequestDirector is default implement.<br/>
|
||||
* usually use in version 4.0-4.2<br/>
|
||||
* DefaultRequestDirector is default implement.
|
||||
* usually use in version 4.0-4.2
|
||||
* since 4.3, this class is Deprecated.
|
||||
*/
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
|||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
||||
/**
|
||||
* {@link AbstractHttpClientInstrumentation} presents that skywalking intercepts {@link
|
||||
* org.apache.http.impl.client.InternalHttpClient#doExecute(org.apache.http.HttpHost, org.apache.http.HttpRequest,
|
||||
* org.apache.http.protocol.HttpContext)} by using {@link HttpClientInstrumentation#INTERCEPT_CLASS}.
|
||||
* {@link AbstractHttpClientInstrumentation} presents that skywalking intercepts
|
||||
* InternalHttpClient#doExecute
|
||||
* by using {@link HttpClientInstrumentation#INTERCEPT_CLASS}.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -21,9 +21,6 @@ package org.apache.skywalking.apm.plugin.httpClient.v4.define;
|
|||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.HttpRequest;
|
||||
import org.apache.http.protocol.HttpContext;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
|
|
@ -32,7 +29,7 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
|
||||
/**
|
||||
* {@link AbstractHttpClientInstrumentation} presents that skywalking
|
||||
* intercepts {@link org.apache.http.impl.client.MinimalHttpClient#doExecute(HttpHost, HttpRequest, HttpContext)}
|
||||
* intercepts MinimalHttpClient#doExecute
|
||||
* by using {@link HttpClientInstrumentation#INTERCEPT_CLASS}.
|
||||
*
|
||||
* @author zhangxin
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link AbstractNIOConnPoolInstrumentation} presents that skywalking intercept {@link
|
||||
* org.apache.http.nio.protocol.AbstractNIOConnPool #requestCompleted}.
|
||||
* {@link AbstractNIOConnPoolInstrumentation} presents that skywalking intercept
|
||||
* org.apache.http.nio.protocol.AbstractNIOConnPool#requestCompleted
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link DefaultConnectingIOReactorInstrumentation} presents that skywalking intercepts {@link
|
||||
* org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor#processEvent}
|
||||
* {@link DefaultConnectingIOReactorInstrumentation} presents that skywalking intercepts
|
||||
* org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor#processEvent
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ import static org.apache.skywalking.apm.agent.core.plugin.bytebuddy.ArgumentType
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link ExecuteInstrumentation} presents that skywalking intercepts {@link org.apache.http.impl.nio.client.CloseableHttpAsyncClient#execute}
|
||||
* {@link ExecuteInstrumentation} presents that skywalking intercepts org.apache.http.impl.nio.client.CloseableHttpAsyncClient#execute
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -28,12 +28,11 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link ProcessResponseInstrumentation} presents that skywalking intercept {@link
|
||||
* org.apache.http.nio.protocol.HttpAsyncRequestExecutor#processResponse,#connected} .
|
||||
* {@link ProcessResponseInstrumentation} presents that skywalking intercept
|
||||
* org.apache.http.nio.protocol.HttpAsyncRequestExecutor#processResponse and #connected
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
||||
public class ProcessResponseInstrumentation extends ClassInstanceMethodsEnhancePluginDefine {
|
||||
|
||||
private static final String ENHANCE_CLASS = "org.apache.http.nio.protocol.HttpAsyncRequestExecutor";
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
package org.apache.skywalking.apm.plugin.httpasyncclient.v4.define;
|
||||
|
||||
import java.io.IOException;
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
|
|
@ -29,8 +30,8 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link SessionRequestImplInstrumentation} presents that skywalking intercepts {@link
|
||||
* org.apache.http.impl.nio.reactor.SessionRequestImpl#failed(final IOException exception)}
|
||||
* {@link SessionRequestImplInstrumentation} presents that skywalking intercepts
|
||||
* {@link org.apache.http.impl.nio.reactor.SessionRequestImpl#failed(IOException)} }
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -29,8 +29,7 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link StateInstrumentation} presents that skywalking intercept {@link org.apache.http.nio.protocol.HttpAsyncRequestExecutor$State#setRequest
|
||||
* #setResponse} .
|
||||
* {@link StateInstrumentation} presents that skywalking intercept org.apache.http.nio.protocol.HttpAsyncRequestExecutor$State#setRequest
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -24,16 +24,10 @@ import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
|||
|
||||
/**
|
||||
* {@link H2URLParser} presents that skywalking how to parse the connection url of H2 database.
|
||||
* {@link ConnectionInfo#host} will return localhost and {@link ConnectionInfo#port} will return
|
||||
* -1 if H2 running with memory mode or file mode, or it will return the host and the port.
|
||||
* <p>
|
||||
*
|
||||
* {@link H2URLParser} check the connection url if contains "file" or "mem". if yes. the database
|
||||
* name substring the connection url from the index after "file" index or the "mem" index to the
|
||||
* index of first charset ";".
|
||||
* <p>
|
||||
* The {@link ConnectionInfo#host} be set the string between charset "//" and the first charset "/" after
|
||||
* the charset "//", and {@link ConnectionInfo#databaseName} be set the string between the last index of "/" and
|
||||
* the first charset ";".
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -24,11 +24,6 @@ import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
|||
|
||||
/**
|
||||
* {@link MysqlURLParser} parse connection url of mysql.
|
||||
* <p>
|
||||
* The {@link ConnectionInfo#host} be set the string between charset "//" and the first
|
||||
* charset "/" after the charset "//", and {@link ConnectionInfo#databaseName} be set the
|
||||
* string between the last index of "/" and the first charset "?". but one more thing, the
|
||||
* {@link ConnectionInfo#hosts} be set if the host container multiple host.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -27,13 +27,9 @@ import org.apache.skywalking.apm.util.StringUtil;
|
|||
|
||||
/**
|
||||
* {@link OracleURLParser} presents that how to parse oracle connection url.
|
||||
* <p>
|
||||
* The {@link ConnectionInfo#host} be set the string between charset "@" and the last
|
||||
* charset ":" after the charset "@", and {@link ConnectionInfo#databaseName} be set the
|
||||
* string that after the last index of ":".
|
||||
* <p>
|
||||
*
|
||||
* Note: {@link OracleURLParser} can parse the commons connection url. the commons
|
||||
* connection url is of the form: <code>jdbc:oracle:<drivertype>:@<database></code>,the other
|
||||
* connection url is of the form: <code>jdbc:oracle:(drivertype):@(database)</code>,the other
|
||||
* the form of connection url cannot be parsed success.
|
||||
*
|
||||
* @author zhangxin
|
||||
|
|
|
|||
|
|
@ -24,11 +24,6 @@ import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
|||
|
||||
/**
|
||||
* {@link PostgreSQLURLParser} parse connection url of mysql.
|
||||
* <p>
|
||||
* The {@link ConnectionInfo#host} be set the string between charset "//" and the first
|
||||
* charset "/" after the charset "//", and {@link ConnectionInfo#databaseName} be set the
|
||||
* string between the last index of "/" and the first charset "?". but one more thing, the
|
||||
* {@link ConnectionInfo#hosts} be set if the host container multiple host.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import org.apache.skywalking.apm.network.trace.component.OfficialComponent;
|
|||
|
||||
/**
|
||||
* {@link ConnectionInfo} stored the jdbc connection info, the connection info contains db type, host, port, database
|
||||
* name. The {@link #hosts} be null if {@link #host} is not null.
|
||||
* name.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt
|
|||
import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
|
||||
|
||||
/**
|
||||
* @autor zhang xin
|
||||
* @author zhang xin
|
||||
*/
|
||||
public class KafkaConsumerInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
||||
|
|
|
|||
|
|
@ -38,9 +38,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt
|
|||
import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
|
||||
|
||||
/**
|
||||
* {@link MongoDBCollectionMethodInterceptor} intercepts constructor of {@link com.mongodb.DBCollection}or {@link
|
||||
* com.mongodb.DBCollectionImpl} recording the ServerAddress and creating the exit span.
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
||||
|
|
@ -54,8 +51,8 @@ public class MongoDBCollectionMethodInterceptor implements InstanceMethodsAround
|
|||
Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable {
|
||||
|
||||
String remotePeer = (String)objInst.getSkyWalkingDynamicField();
|
||||
String opertaion = method.getName();
|
||||
AbstractSpan span = ContextManager.createExitSpan(MONGO_DB_OP_PREFIX + opertaion, new ContextCarrier(), remotePeer);
|
||||
String operation = method.getName();
|
||||
AbstractSpan span = ContextManager.createExitSpan(MONGO_DB_OP_PREFIX + operation, new ContextCarrier(), remotePeer);
|
||||
span.setComponent(ComponentsDefine.MONGODB);
|
||||
Tags.DB_TYPE.set(span, DB_TYPE);
|
||||
SpanLayer.asDB(span);
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ package org.apache.skywalking.apm.plugin.mongodb.v2.define;
|
|||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
|
||||
/**
|
||||
* @auther liyuntao
|
||||
* @author liyuntao
|
||||
*/
|
||||
public abstract class InterceptPoint implements InstanceMethodsInterceptPoint {
|
||||
private static final String MONGDB_METHOD_INTERCET_CLASS = "MongoDBCollectionMethodInterceptor";
|
||||
|
|
|
|||
|
|
@ -33,14 +33,14 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
|||
|
||||
/**
|
||||
* {@link MongoDBCollectionImplInstrumentation} define that the MongoDB Java Driver 2.13.x-2.14.x plugin intercepts the
|
||||
* following methods in the {@link com.mongodb.DBCollectionImpl}class:
|
||||
* 1. find <br/>
|
||||
* 2. insert <br/>
|
||||
* 3. insertImpl <br/>
|
||||
* 4. update <br/>
|
||||
* 5. updateImpl <br/>
|
||||
* 6. remove <br/>
|
||||
* 7. createIndex <br/>
|
||||
* following methods in the com.mongodb.DBCollectionImpl class:
|
||||
* 1. find
|
||||
* 2. insert
|
||||
* 3. insertImpl
|
||||
* 4. update
|
||||
* 5. updateImpl
|
||||
* 6. remove
|
||||
* 7. createIndex
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -16,14 +16,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
package org.apache.skywalking.apm.plugin.mongodb.v2.define;
|
||||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
|
||||
import static net.bytebuddy.matcher.ElementMatchers.any;
|
||||
|
|
@ -35,16 +34,16 @@ import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName
|
|||
/**
|
||||
* {@link MongoDBCollectionInstrumentation} define that the MongoDB Java Driver 2.13.x-2.14.x plugin intercepts the
|
||||
* following methods in the {@link com.mongodb.DBCollection}class:
|
||||
* 1. aggregate <br/>
|
||||
* 2. findAndModify <br/>
|
||||
* 1. aggregate
|
||||
* 2. findAndModify
|
||||
* 3. getCount
|
||||
* <br/>
|
||||
* 4. drop <br/>
|
||||
* 5. dropIndexes <br/>
|
||||
* 6. rename <br/>
|
||||
* 7. group <br/>
|
||||
* 8. distinct <br/>
|
||||
* 9. mapReduce <br/>
|
||||
*
|
||||
* 4. drop
|
||||
* 5. dropIndexes
|
||||
* 6. rename
|
||||
* 7. group
|
||||
* 8. distinct
|
||||
* 9. mapReduce
|
||||
*
|
||||
* @author liyuntao
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -27,9 +27,6 @@ import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
|||
import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
||||
|
||||
/**
|
||||
* {@link CreateStatementInterceptor} intercepts the {@link com.mysql.jdbc.ConnectionImpl#createStatement()} method in
|
||||
* the {@link com.mysql.jdbc.ConnectionImpl} class.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
public class CreateCallableStatementInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -16,20 +16,16 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
package org.apache.skywalking.apm.plugin.jdbc.mysql;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
||||
|
||||
/**
|
||||
* {@link CreateStatementInterceptor} intercepts the {@link com.mysql.jdbc.ConnectionImpl#prepareStatement()} method in
|
||||
* the {@link com.mysql.jdbc.ConnectionImpl} class.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
public class CreatePreparedStatementInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -27,9 +27,6 @@ import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
|||
import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
||||
|
||||
/**
|
||||
* {@link CreateStatementInterceptor} intercepts the {@link com.mysql.jdbc.ConnectionImpl#createStatement()} method in
|
||||
* the {@link com.mysql.jdbc.ConnectionImpl} class.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
public class CreateStatementInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -30,11 +30,11 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.MultiClassNameMatch.byMultiClassMatch;
|
||||
|
||||
/**
|
||||
* {@link CallableInstrumentation} define that the mysql-2.x plugin intercepts the following methods in the {@link
|
||||
* com.mysql.jdbc.CallableStatement} by {@link org.apache.skywalking.apm.plugin.jdbc.mysql.CallableStatementInterceptor}:
|
||||
* 1. execute <br/>
|
||||
* 2. executeQuery <br/>
|
||||
* 3. executeUpdate <br/>
|
||||
* {@link CallableInstrumentation} define that the mysql-2.x plugin intercepts the following methods in the
|
||||
* com.mysql.jdbc.CallableStatement
|
||||
* 1. execute
|
||||
* 2. executeQuery
|
||||
* 3. executeUpdate
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
||||
|
||||
/**
|
||||
* {@link ConnectionInstrumentation} intercepts the following methods that the class which extend {@link
|
||||
* com.mysql.jdbc.ConnectionImpl}. <br/>
|
||||
* {@link ConnectionInstrumentation} intercepts the following methods that the class which extend
|
||||
* com.mysql.jdbc.ConnectionImpl.
|
||||
*
|
||||
* 1. Enhance <code>prepareStatement</code> by <code>org.apache.skywalking.apm.plugin.jdbc.define.JDBCPrepareStatementInterceptor</code>
|
||||
* 2. Enhance <code>prepareCall</code> by <code>org.apache.skywalking.apm.plugin.jdbc.define.JDBCPrepareCallInterceptor</code>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link Mysql50ConnectionInstrumentation} interceptor the {@link com.mysql.jdbc.Connection} class in the 5.0.x verison
|
||||
* {@link Mysql50ConnectionInstrumentation} interceptor the com.mysql.jdbc.Connection class in the 5.0.x verison
|
||||
* of mysql driver jar.
|
||||
*
|
||||
* @author zhangxin
|
||||
|
|
|
|||
|
|
@ -31,13 +31,13 @@ import static org.apache.skywalking.apm.agent.core.plugin.match.MultiClassNameMa
|
|||
|
||||
/**
|
||||
* {@link PreparedStatementInstrumentation} define that the mysql-2.x plugin intercepts the following methods in the
|
||||
* {@link com.mysql.jdbc.JDBC42PreparedStatement}, {@link com.mysql.jdbc.PreparedStatement} and {@link
|
||||
* com.mysql.cj.jdbc.PreparedStatement} class:
|
||||
* 1. execute <br/>
|
||||
* 2. executeQuery <br/>
|
||||
* 3. executeUpdate <br/>
|
||||
* 4. executeLargeUpdate <br/>
|
||||
* 5. addBatch <br/>
|
||||
* com.mysql.jdbc.JDBC42PreparedStatement, com.mysql.jdbc.PreparedStatement and
|
||||
* com.mysql.cj.jdbc.PreparedStatement class:
|
||||
* 1. execute
|
||||
* 2. executeQuery
|
||||
* 3. executeUpdate
|
||||
* 4. executeLargeUpdate
|
||||
* 5. addBatch
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -30,17 +30,17 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.MultiClassNameMatch.byMultiClassMatch;
|
||||
|
||||
/**
|
||||
* {@link StatementInstrumentation} intercepts the following methods in the {@link
|
||||
* com.mysql.jdbc.StatementImpl} and {@link com.mysql.cj.jdbc.StatementImpl}class.
|
||||
* 1. execute <br/>
|
||||
* 2. executeQuery <br/>
|
||||
* 3. executeUpdate <br/>
|
||||
* 4. executeLargeUpdate <br/>
|
||||
* 5. addBatch <br/>
|
||||
* 6. executeBatchInternal <br/>
|
||||
* 7. executeUpdateInternal <br/>
|
||||
* 8. executeQuery <br/>
|
||||
* 9. executeBatch <br/>
|
||||
* {@link StatementInstrumentation} intercepts the following methods in the
|
||||
* com.mysql.jdbc.StatementImpl and com.mysql.cj.jdbc.StatementImpl class.
|
||||
* 1. execute
|
||||
* 2. executeQuery
|
||||
* 3. executeUpdate
|
||||
* 4. executeLargeUpdate
|
||||
* 5. addBatch
|
||||
* 6. executeBatchInternal
|
||||
* 7. executeUpdateInternal
|
||||
* 8. executeQuery
|
||||
* 9. executeBatch
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -24,13 +24,12 @@ import java.lang.reflect.Method;
|
|||
import java.lang.reflect.Modifier;
|
||||
import okhttp3.Headers;
|
||||
import okhttp3.HttpUrl;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
import org.apache.skywalking.apm.agent.core.context.ContextCarrier;
|
||||
import org.apache.skywalking.apm.agent.core.context.tag.Tags;
|
||||
import org.apache.skywalking.apm.agent.core.context.CarrierItem;
|
||||
import org.apache.skywalking.apm.agent.core.context.ContextCarrier;
|
||||
import org.apache.skywalking.apm.agent.core.context.ContextManager;
|
||||
import org.apache.skywalking.apm.agent.core.context.tag.Tags;
|
||||
import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan;
|
||||
import org.apache.skywalking.apm.agent.core.context.trace.SpanLayer;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
|
||||
|
|
@ -46,13 +45,6 @@ import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
|
|||
*/
|
||||
public class RealCallInterceptor implements InstanceMethodsAroundInterceptor, InstanceConstructorInterceptor {
|
||||
|
||||
/**
|
||||
* Intercept the {@link okhttp3.RealCall#RealCall(OkHttpClient, Request, boolean)}, then put the second argument of
|
||||
* {@link okhttp3.Request} into {@link EnhancedInstance}.
|
||||
*
|
||||
* @param objInst a new added instance field
|
||||
* @param allArguments constructor invocation context.
|
||||
*/
|
||||
@Override
|
||||
public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
|
||||
objInst.setSkyWalkingDynamicField(allArguments[1]);
|
||||
|
|
|
|||
|
|
@ -25,16 +25,12 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsIn
|
|||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
||||
import org.apache.skywalking.apm.plugin.okhttp.v3.RealCallInterceptor;
|
||||
|
||||
import static net.bytebuddy.matcher.ElementMatchers.any;
|
||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
||||
|
||||
/**
|
||||
* {@link RealCallInstrumentation} presents that skywalking intercepts {@link okhttp3.RealCall#RealCall(OkHttpClient,
|
||||
* Request, boolean)}, {@link okhttp3.RealCall#execute()} by using {@link RealCallInterceptor}.
|
||||
*
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class RealCallInstrumentation extends ClassInstanceMethodsEnhancePluginDefine {
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
|||
|
||||
/**
|
||||
* {@link ConnectionInstrumentation} define that the oracle plugin intercept the following methods that the class which
|
||||
* extend {@link oracle.jdbc.driver.PhysicalConnection}. <br/>
|
||||
* <pre>
|
||||
* extend oracle.jdbc.driver.PhysicalConnection
|
||||
*
|
||||
* 1. Enhance <code>prepareStatement</code> by <code>org.apache.skywalking.apm.plugin.jdbc.oracle.CreatePreparedStatementInterceptor</code>
|
||||
* 2. Enhance <code>prepareCall</code> by <code>org.apache.skywalking.apm.plugin.jdbc.oracle.CreateCallableInterceptor</code>
|
||||
* 3. Enhance <code>createStatement</code> by <code>org.apache.skywalking.apm.plugin.jdbc.oracle.CreateStatementInterceptor</code>
|
||||
* 4. Enhance <code>commit, rollback, close, releaseSavepoint</code> by <code>org.apache.skywalking.apm.plugin.jdbc.define.ConnectionServiceMethodInterceptor</code>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ import static org.apache.skywalking.apm.plugin.jdbc.oracle.Constants.PREPARED_ST
|
|||
|
||||
/**
|
||||
* {@link OracleCallableInstrumentation} define that the oracle plugin intercept the <code>execute, executeQuery and
|
||||
* executeUpdate</code> method in {@link oracle.jdbc.driver.OracleCallableStatement} class by ${@link
|
||||
* org.apache.skywalking.apm.plugin.jdbc.oracle.StatementExecuteMethodsInterceptor}
|
||||
* executeUpdate</code> method in {@link oracle.jdbc.driver.OracleCallableStatement} class by
|
||||
* {@link org.apache.skywalking.apm.plugin.jdbc.oracle.StatementExecuteMethodsInterceptor}
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ import static org.apache.skywalking.apm.plugin.jdbc.oracle.Constants.PREPARED_ST
|
|||
|
||||
/**
|
||||
* {@link OraclePrepareStatementInstrumentation} define that the oracle plugin intercept the <code>execute,
|
||||
* executeQuery, executeUpdate and executeLargeUpdate</code> method in {@link oracle.jdbc.driver.OraclePreparedStatement}
|
||||
* executeQuery, executeUpdate and executeLargeUpdate</code> method in oracle.jdbc.driver.OraclePreparedStatement
|
||||
* class by ${@link org.apache.skywalking.apm.plugin.jdbc.oracle.StatementExecuteMethodsInterceptor}
|
||||
*
|
||||
* @author zhangxin
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ import static org.apache.skywalking.apm.plugin.jdbc.oracle.Constants.STATEMENT_I
|
|||
|
||||
/**
|
||||
* {@link OracleStatementInstrumentation} define that the oracle plugin intercept the <code>execute, executeQuery,
|
||||
* executeUpdate and executeLargeUpdate</code> method in {@link oracle.jdbc.driver.OracleStatement} class by ${@link
|
||||
* org.apache.skywalking.apm.plugin.jdbc.oracle.StatementExecuteMethodsInterceptor}
|
||||
* executeUpdate and executeLargeUpdate</code> method in {@link oracle.jdbc.driver.OracleStatement} class by
|
||||
* {@link org.apache.skywalking.apm.plugin.jdbc.oracle.StatementExecuteMethodsInterceptor}
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -21,15 +21,12 @@ package org.apache.skywalking.apm.plugin.jdbc.postgresql;
|
|||
|
||||
import java.lang.reflect.Method;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
||||
|
||||
/**
|
||||
* {@link CreateStatementInterceptor} intercepts the {@link org.postgresql.jdbc.PgConnection#prepareCall} method in
|
||||
* {@link org.postgresql.jdbc.PgConnection}, {@link org.postgresql.jdbc.PgConnection} or {@link org.postgresql.jdbc3.Jdbc3Connection} class.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
public class CreateCallableStatementInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -21,15 +21,12 @@ package org.apache.skywalking.apm.plugin.jdbc.postgresql;
|
|||
|
||||
import java.lang.reflect.Method;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
||||
|
||||
/**
|
||||
* {@link CreatePreparedStatementInterceptor} intercepts the {@link org.postgresql.jdbc.PgConnection#prepareStatement} method in
|
||||
* {@link org.postgresql.jdbc.PgConnection}, {@link org.postgresql.jdbc.PgConnection} or {@link org.postgresql.jdbc3.Jdbc3Connection} class.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
public class CreatePreparedStatementInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -25,12 +25,8 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceM
|
|||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.define.StatementEnhanceInfos;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.trace.ConnectionInfo;
|
||||
import org.postgresql.jdbc.PgConnection;
|
||||
|
||||
/**
|
||||
* {@link CreateStatementInterceptor} intercepts the {@link PgConnection#createStatement} method in
|
||||
* {@link org.postgresql.jdbc.PgConnection}, {@link org.postgresql.jdbc.PgConnection} or {@link org.postgresql.jdbc3.Jdbc3Connection} class.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
public class CreateStatementInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ package org.apache.skywalking.apm.plugin.jdbc.postgresql.define;
|
|||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
import org.apache.skywalking.apm.plugin.jdbc.postgresql.StatementExecuteMethodsInterceptor;
|
||||
|
||||
|
|
@ -34,8 +34,8 @@ import static org.apache.skywalking.apm.plugin.jdbc.postgresql.Variables.PG_PREP
|
|||
import static org.apache.skywalking.apm.plugin.jdbc.postgresql.Variables.PG_STATEMENT_EXECUTE_METHOD_INTERCEPTOR;
|
||||
|
||||
/**
|
||||
* {@link AbstractJdbc2StatementInstrumentation} intercept the following methods that the class which extend {@link
|
||||
* org.postgresql.jdbc2.AbstractJdbc2Statement} by {@link StatementExecuteMethodsInterceptor}. <br/>
|
||||
* {@link AbstractJdbc2StatementInstrumentation} intercept the following methods that the class which extend
|
||||
* org.postgresql.jdbc2.AbstractJdbc2Statement by {@link StatementExecuteMethodsInterceptor}.
|
||||
* 1. the <code>execute</code> with non parameter
|
||||
* 2. the <code>execute</code> with one parameter
|
||||
* 3. the <code>executeBatch</code>
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ package org.apache.skywalking.apm.plugin.jdbc.postgresql.define;
|
|||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
|
||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
|
@ -32,8 +32,8 @@ import static org.apache.skywalking.apm.agent.core.plugin.bytebuddy.ArgumentType
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.MultiClassNameMatch.byMultiClassMatch;
|
||||
|
||||
/**
|
||||
* {@link ConnectionInstrumentation} intercept the following methods that the class which extend {@link
|
||||
* org.postgresql.jdbc.PgConnection}. <br/>
|
||||
* {@link ConnectionInstrumentation} intercept the following methods that the class which extend
|
||||
* {@link org.postgresql.jdbc.PgConnection}.
|
||||
*
|
||||
* 1. Enhance <code>prepareStatement</code> by <code>org.apache.skywalking.apm.plugin.jdbc.define.JDBCPrepareStatementInterceptor</code>
|
||||
* 2. Enhance <code>prepareStatement</code> that the seconds argument type is <code>java.lang.String[]</code> by
|
||||
|
|
|
|||
|
|
@ -21,18 +21,18 @@ package org.apache.skywalking.apm.plugin.jdbc.postgresql.define;
|
|||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
||||
|
||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
||||
|
||||
/**
|
||||
* {@link Jdbc3ConnectionInstrumentation} intercept the following methods that the class which extend {@link
|
||||
* org.postgresql.jdbc3.Jdbc3Connection}. <br/>
|
||||
* {@link Jdbc3ConnectionInstrumentation} intercept the following methods that the class which extend
|
||||
* org.postgresql.jdbc3.Jdbc3Connection
|
||||
*
|
||||
* 1. Enhance <code>prepareStatement</code> by <code>org.apache.skywalking.apm.plugin.jdbc.define.JDBCPrepareStatementInterceptor</code>
|
||||
* 2. Enhance <code>prepareCall</code> by
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ package org.apache.skywalking.apm.plugin.jdbc.postgresql.define;
|
|||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch;
|
||||
|
||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
|
@ -31,8 +31,8 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link Jdbc4ConnectionInstrumentation} intercept the following methods that the class which extend {@link
|
||||
* org.postgresql.jdbc4.Jdbc4Connection}. <br/>
|
||||
* {@link Jdbc4ConnectionInstrumentation} intercept the following methods that the class which extend
|
||||
* org.postgresql.jdbc4.Jdbc4Connection.
|
||||
*
|
||||
* 1. Enhance <code>prepareStatement</code> by <code>org.apache.skywalking.apm.plugin.jdbc.define.JDBCPrepareStatementInterceptor</code>
|
||||
* 2. Enhance <code>prepareCall</code> by
|
||||
|
|
|
|||
|
|
@ -34,9 +34,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt
|
|||
import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
|
||||
|
||||
/**
|
||||
* {@link ResinV3Interceptor} intercept method of{@link com.caucho.server.dispatch.ServletInvocation#service(javax.servlet.ServletRequest,
|
||||
* javax.servlet.ServletResponse)} record the resin host, port ,url.
|
||||
*
|
||||
* @author baiyang
|
||||
*/
|
||||
public class ResinV3Interceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -31,8 +31,9 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterc
|
|||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
||||
/**
|
||||
* {@link ResinV3Instrumentation} presents that skywalking intercepts {@link com.caucho.server.dispatch.ServletInvocation#service(javax.servlet.ServletRequest,
|
||||
* javax.servlet.ServletResponse)} by using {@link ResinV3Interceptor}.
|
||||
* {@link ResinV3Instrumentation} presents that skywalking intercepts
|
||||
* {@link com.caucho.server.dispatch.ServletInvocation#service(javax.servlet.ServletRequest,javax.servlet.ServletResponse)}
|
||||
* by using {@link ResinV3Interceptor}.
|
||||
*
|
||||
* @author baiyang
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,8 +31,9 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link ResinV4Instrumentation} presents that skywalking intercepts {@link com.caucho.server.dispatch.ServletInvocation#service(javax.servlet.ServletRequest,
|
||||
* javax.servlet.ServletResponse)} by using {@link ResinV4Interceptor}.
|
||||
* {@link ResinV4Instrumentation} presents that skywalking intercepts
|
||||
* {@link com.caucho.server.dispatch.ServletInvocation#service(javax.servlet.ServletRequest,javax.servlet.ServletResponse)}
|
||||
* by using {@link ResinV4Interceptor}.
|
||||
*
|
||||
* @author baiyang
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -32,9 +32,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt
|
|||
import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
|
||||
|
||||
/**
|
||||
* {org.apache.skywalking.apm.plugin.servicecomb.ProducerOperationHandlerInterceptor} define how to enhance class {@link
|
||||
* ProducerOperationHandler#handle(io.servicecomb.core.Invocation, io.servicecomb.swagger.invocation.AsyncResponse)}.
|
||||
*
|
||||
* @author lytscu
|
||||
*/
|
||||
public class ProducerOperationHandlerInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -33,9 +33,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt
|
|||
import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
|
||||
|
||||
/**
|
||||
* {@link TransportClientHandlerInterceptor} define how to enhance class {@link TransportClientHandler#handle(io.servicecomb.core.Invocation,
|
||||
* io.servicecomb.swagger.invocation.AsyncResponse)}.
|
||||
*
|
||||
* @author lytscu
|
||||
*/
|
||||
public class TransportClientHandlerInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
|||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
||||
/**
|
||||
* {@link ProducerOperationHandlerInstrumentation} represents that skywalking intercept {@link
|
||||
* ProducerOperationHandler#handle(io.servicecomb.core.Invocation, io.servicecomb.swagger.invocation.AsyncResponse)}by
|
||||
* using {@link ProducerOperationHandlerInterceptor}
|
||||
* {@link ProducerOperationHandlerInstrumentation} represents that skywalking intercept
|
||||
* {@link io.servicecomb.core.handler.impl.ProducerOperationHandler#handle(io.servicecomb.core.Invocation, io.servicecomb.swagger.invocation.AsyncResponse)}by
|
||||
* using ProducerOperationHandlerInterceptor
|
||||
*
|
||||
* @author lytscu
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
|||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
||||
/**
|
||||
* {@link TransportClientHandlerInstrumentation} represents that skywalking intercept {@link TransportClientHandler}by
|
||||
* using {@linkTransportClientHandlerInterceptor }
|
||||
* {@link TransportClientHandlerInstrumentation} represents that skywalking intercept {@link TransportClientHandler} by
|
||||
* using linkTransportClientHandlerInterceptor
|
||||
*
|
||||
* @author lytscu
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -32,9 +32,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt
|
|||
import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
|
||||
|
||||
/**
|
||||
* {ProducerOperationHandlerInterceptor} define how to enhance class {@link
|
||||
* ProducerOperationHandler#handle(org.apache.servicecomb.core.Invocation, org.apache.servicecomb.swagger.invocation.AsyncResponse)}.
|
||||
*
|
||||
* @author lytscu
|
||||
*/
|
||||
public class ProducerOperationHandlerInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -33,9 +33,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt
|
|||
import org.apache.skywalking.apm.network.trace.component.ComponentsDefine;
|
||||
|
||||
/**
|
||||
* {@link TransportClientHandlerInterceptor} define how to enhance class {@link TransportClientHandler#handle(org.apache.servicecomb.core.Invocation,
|
||||
* org.apache.servicecomb.swagger.invocation.AsyncResponse)}.
|
||||
*
|
||||
* @author lytscu
|
||||
*/
|
||||
public class TransportClientHandlerInterceptor implements InstanceMethodsAroundInterceptor {
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
|||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
||||
/**
|
||||
* {@link ProducerOperationHandlerInstrumentation} represents that skywalking intercept {@link
|
||||
* ProducerOperationHandler#handle(org.apache.servicecomb.core.Invocation, org.apache.servicecomb.swagger.invocation.AsyncResponse)}by
|
||||
* using {@link ProducerOperationHandlerInterceptor}
|
||||
* {@link ProducerOperationHandlerInstrumentation} represents that skywalking intercept
|
||||
* {@link org.apache.servicecomb.core.handler.impl.ProducerOperationHandler#handle(org.apache.servicecomb.core.Invocation, org.apache.servicecomb.swagger.invocation.AsyncResponse)}
|
||||
* by using ProducerOperationHandlerInterceptor
|
||||
*
|
||||
* @author lytscu
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ package org.apache.skywalking.apm.plugin.servicecomb.v1.define;
|
|||
|
||||
import net.bytebuddy.description.method.MethodDescription;
|
||||
import net.bytebuddy.matcher.ElementMatcher;
|
||||
import org.apache.servicecomb.core.handler.impl.TransportClientHandler;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
|
||||
|
|
@ -30,8 +29,9 @@ import org.apache.skywalking.apm.agent.core.plugin.match.NameMatch;
|
|||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||
|
||||
/**
|
||||
* {@link TransportClientHandlerInstrumentation} represents that skywalking intercept {@link TransportClientHandler}by
|
||||
* using {@linkTransportClientHandlerInterceptor }
|
||||
* {@link TransportClientHandlerInstrumentation} represents that skywalking intercept
|
||||
* {@link org.apache.servicecomb.core.handler.impl.TransportClientHandler} by
|
||||
* using linkTransportClientHandlerInterceptor
|
||||
*
|
||||
* @author lytscu
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -19,13 +19,13 @@
|
|||
|
||||
package org.apache.skywalking.apm.plugin.sjdbc.define;
|
||||
|
||||
import com.dangdang.ddframe.rdb.sharding.executor.ExecutorEngine;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance;
|
||||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
|
||||
import org.apache.skywalking.apm.plugin.sjdbc.ExecuteEventListener;
|
||||
|
||||
/**
|
||||
* {@link ExecutorEngineConstructorInterceptor} enhances {@link ExecutorEngine#}'s constructor, initializing {@link ExecuteEventListener}
|
||||
* {@link ExecutorEngineConstructorInterceptor} enhances {@link com.dangdang.ddframe.rdb.sharding.executor.ExecutorEngine}'s constructor,
|
||||
* initializing {@link ExecuteEventListener}
|
||||
*
|
||||
* @author gaohongtao
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInt
|
|||
import org.springframework.aop.framework.AdvisedSupport;
|
||||
|
||||
/**
|
||||
* <code>CreateAopProxyInterceptor</code> check that the bean has been implement {@link EnhancedInstance}. <p/>
|
||||
* <code>CreateAopProxyInterceptor</code> check that the bean has been implement {@link EnhancedInstance}.
|
||||
* if yes, true will be returned.
|
||||
*
|
||||
* @author zhang xin
|
||||
|
|
|
|||
|
|
@ -30,11 +30,6 @@ import static net.bytebuddy.matcher.ElementMatchers.named;
|
|||
import static org.apache.skywalking.apm.agent.core.plugin.match.NameMatch.byName;
|
||||
|
||||
/**
|
||||
* {@link TomcatInstrumentation} presents that skywalking using class {@link org.apache.skywalking.apm.plugin.tomcat78x.TomcatInvokeInterceptor} to intercept
|
||||
* {@link org.apache.catalina.core.StandardWrapperValve#invoke} and using class {@link
|
||||
* org.apache.skywalking.apm.plugin.tomcat78x.TomcatExceptionInterceptor} to intercept {@link
|
||||
* org.apache.catalina.core.StandardWrapperValve#exception}.
|
||||
*
|
||||
* @author zhangxin
|
||||
*/
|
||||
public class TomcatInstrumentation extends ClassInstanceMethodsEnhancePluginDefine {
|
||||
|
|
|
|||
|
|
@ -27,17 +27,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedI
|
|||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
|
||||
|
||||
/**
|
||||
* {@link XMemcachedConstructorWithComplexArgInterceptor} intercept constructor of
|
||||
* {@link XMemcachedClient(MemcachedSessionLocator locator,BufferAllocator allocator, Configuration conf,
|
||||
* Map<SocketOption, Object> socketOptions, CommandFactory commandFactory, Transcoder transcoder,
|
||||
* Map<InetSocketAddress, InetSocketAddress> addressMap, List<MemcachedClientStateListener> stateListeners,
|
||||
* Map<InetSocketAddress, AuthInfo> map, int poolSize, long connectTimeout, String name, boolean failureMode)} or
|
||||
* {@link XMemcachedClient(MemcachedSessionLocator locator, BufferAllocator allocator, Configuration conf,
|
||||
* Map<SocketOption, Object> socketOptions, CommandFactory commandFactory, Transcoder transcoder,
|
||||
* Map<InetSocketAddress, InetSocketAddress> addressMap, int[] weights, List<MemcachedClientStateListener> stateListeners,
|
||||
* Map<InetSocketAddress, AuthInfo> infoMap, int poolSize, long connectTimeout, final String name, boolean failureMode)}.
|
||||
* For parameter addressMap, every k-v is a master standby mode.
|
||||
*
|
||||
* @author IluckySi
|
||||
*/
|
||||
public class XMemcachedConstructorWithComplexArgInterceptor implements InstanceConstructorInterceptor {
|
||||
|
|
|
|||
|
|
@ -23,10 +23,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedI
|
|||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
|
||||
|
||||
/**
|
||||
* {@link XMemcachedConstructorWithHostPortArgInterceptor} intercept constructor of
|
||||
* {@link XMemcachedClient(final String host, final int port)} or
|
||||
* {@link XMemcachedClient(final String host, final int port, int weight)}.
|
||||
*
|
||||
* @author IluckySi
|
||||
*/
|
||||
public class XMemcachedConstructorWithHostPortArgInterceptor implements InstanceConstructorInterceptor {
|
||||
|
|
|
|||
|
|
@ -25,10 +25,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedI
|
|||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
|
||||
|
||||
/**
|
||||
* {@link XMemcachedConstructorWithInetSocketAddressArgInterceptor} intercept constructor of
|
||||
* {@link XMemcachedClient(final InetSocketAddress inetSocketAddress)} or
|
||||
* {@link XMemcachedClient(final InetSocketAddress inetSocketAddress, int weight)}.
|
||||
*
|
||||
* @author IluckySi
|
||||
*/
|
||||
public class XMemcachedConstructorWithInetSocketAddressArgInterceptor implements InstanceConstructorInterceptor {
|
||||
|
|
|
|||
|
|
@ -26,9 +26,6 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedI
|
|||
import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor;
|
||||
|
||||
/**
|
||||
* {@link XMemcachedConstructorWithInetSocketAddressListArgInterceptor} intercept constructor of
|
||||
* {@link XMemcachedClient(List<InetSocketAddress> addressList).
|
||||
*
|
||||
* @author IluckySi
|
||||
*/
|
||||
public class XMemcachedConstructorWithInetSocketAddressListArgInterceptor implements InstanceConstructorInterceptor {
|
||||
|
|
|
|||
|
|
@ -36,15 +36,8 @@ import static net.bytebuddy.matcher.ElementMatchers.takesArgument;
|
|||
import static net.bytebuddy.matcher.ElementMatchers.takesArguments;
|
||||
|
||||
/**
|
||||
* {@link MemcachedInstrumentation} presents that skywalking intercept all constructors and methods of
|
||||
* {@link XMemcachedInstrumentation} presents that skywalking intercept all constructors and methods of
|
||||
* {@link net.rubyeye.xmemcached.XMemcachedClient}.
|
||||
* {@link XMemcachedConstructorWithHostPortArgInterceptor} intercepts the constructor with
|
||||
* ip and port arguments.
|
||||
* {@link XMemcachedConstructorWithInetSocketAddressArgInterceptor} intercepts the constructor with
|
||||
* argument {@link java.net.InetSocketAddress}.
|
||||
* {@link XMemcachedConstructorWithInetSocketAddressListArgInterceptor} intercepts the constructor with
|
||||
* argument {@link java.net.InetSocketAddress}.
|
||||
* {@link XMemcachedConstructorWithComplexArgInterceptor} intercepts the constructor with complex arguments.
|
||||
*
|
||||
* @author IluckySi
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ import static org.apache.skywalking.apm.agent.core.plugin.bytebuddy.ArgumentType
|
|||
*
|
||||
* 4. The <code>SpanLogInterceptor</code>
|
||||
* interceptor enhance the <code>log</code> method that the first argument type is {@link Long} and the second
|
||||
* argument type is {@link Map<String,?>}
|
||||
* argument type is {@link Map}
|
||||
*
|
||||
* 5. The <code>SpanSetOperationNameInterceptor</code>
|
||||
* interceptor enhance the <code>setOperationName</code> method
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
Apache SkyWalking release guide
|
||||
--------------------
|
||||
|
||||
Ref:
|
||||
* http://tiles.apache.org/framework/dev/release.html
|
||||
* http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env
|
||||
|
||||
Important things list:
|
||||
* Maven releases, and the nexus staging repository, and download artifacts upload
|
||||
* All artifacts are published with .asc, .md5, *sha1 files
|
||||
* The *.asc files are signed with a gpg key that's part of apache's ring of trust
|
||||
* Sync'ing this to releases and tags in github
|
||||
* Making the internal announcements
|
||||
* Calling a vote
|
||||
* Moving the staging repository to a public repository, making download artifacts public
|
||||
* Making the final public announcement
|
||||
Loading…
Reference in New Issue