Merge branch 'master' into master

This commit is contained in:
吴晟 Wu Sheng 2018-02-26 18:56:36 +08:00 committed by GitHub
commit e2adfe413f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
85 changed files with 184 additions and 295 deletions

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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;
}

View File

@ -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);

View File

@ -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);

View File

@ -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.
*

View File

@ -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>();

View File

@ -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

View File

@ -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;

View File

@ -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
*/

View File

@ -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

View File

@ -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>
*

View File

@ -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 {

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
*/

View File

@ -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.
*

View File

@ -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
*/

View File

@ -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 {

View File

@ -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>

View File

@ -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() {

View File

@ -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

View File

@ -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
*/

View File

@ -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

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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";

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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 {

View File

@ -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);

View File

@ -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";

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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
*/

View File

@ -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>

View File

@ -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

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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]);

View File

@ -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 {

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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

View File

@ -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
*/

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 {

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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 {

View File

@ -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 {

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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 {

View File

@ -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 {

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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
*/

View File

@ -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

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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 {

View File

@ -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
*/

View File

@ -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

16
docs/en/How-to-release.md Normal file
View File

@ -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

View File

@ -25,6 +25,12 @@
<artifactId>apm</artifactId>
<version>5.0.0-alpha</version>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>19</version>
</parent>
<developers>
<developer>
<name>Wu Sheng</name>