Skip to content

Commit

Permalink
apply plugin changed.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaehong-kim committed Apr 7, 2015
1 parent f20c6c6 commit 9af8da7
Showing 1 changed file with 31 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
import com.navercorp.pinpoint.bootstrap.logging.PLoggerFactory;
import com.navercorp.pinpoint.bootstrap.plugin.ProfilerPlugin;
import com.navercorp.pinpoint.bootstrap.plugin.ProfilerPluginSetupContext;
import com.navercorp.pinpoint.bootstrap.plugin.editor.ClassEditorBuilder;
import com.navercorp.pinpoint.bootstrap.plugin.editor.ConstructorEditorBuilder;
import com.navercorp.pinpoint.bootstrap.plugin.editor.MethodEditorBuilder;
import com.navercorp.pinpoint.bootstrap.plugin.editor.MethodEditorProperty;
import com.navercorp.pinpoint.bootstrap.plugin.transformer.ClassFileTransformerBuilder;
import com.navercorp.pinpoint.bootstrap.plugin.transformer.ConstructorEditorBuilder;
import com.navercorp.pinpoint.bootstrap.plugin.transformer.MethodEditorBuilder;
import com.navercorp.pinpoint.bootstrap.plugin.transformer.MethodTransformerProperty;

/**
*
Expand All @@ -48,7 +48,7 @@ public void setup(ProfilerPluginSetupContext context) {
}

private void addHttpClient4ClassEditor(ProfilerPluginSetupContext context, HttpClient4PluginConfig config) {
final ClassEditorBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.client.AbstractHttpClient");
final ClassFileTransformerBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.client.AbstractHttpClient");

injectHttpRequestExecuteMethodInterceptor(classEditorBuilder, "org.apache.http.HttpHost", "org.apache.http.HttpRequest");
injectHttpRequestExecuteMethodInterceptor(classEditorBuilder, "org.apache.http.HttpHost", "org.apache.http.HttpRequest", "org.apache.http.protocol.HttpContext");
Expand All @@ -60,31 +60,31 @@ private void addHttpClient4ClassEditor(ProfilerPluginSetupContext context, HttpC
injectHttpUriRequestExecuteInterceptor(classEditorBuilder, "org.apache.http.client.methods.HttpUriRequest", "org.apache.http.client.ResponseHandler");
injectHttpUriRequestExecuteInterceptor(classEditorBuilder, "org.apache.http.client.methods.HttpUriRequest", "org.apache.http.client.ResponseHandler", "org.apache.http.protocol.HttpContext");

context.addClassEditor(classEditorBuilder.build());
context.addClassFileTransformer(classEditorBuilder.build());
}

private void injectHttpRequestExecuteMethodInterceptor(final ClassEditorBuilder classEditorBuilder, String... parameterTypeNames) {
private void injectHttpRequestExecuteMethodInterceptor(final ClassFileTransformerBuilder classEditorBuilder, String... parameterTypeNames) {
MethodEditorBuilder methodEditorBuilder = classEditorBuilder.editMethod("execute", parameterTypeNames);
methodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.HttpRequestExecuteInterceptor");
}

private void injectHttpUriRequestExecuteInterceptor(final ClassEditorBuilder classEditorBuilder, String... parameterTypeNames) {
private void injectHttpUriRequestExecuteInterceptor(final ClassFileTransformerBuilder classEditorBuilder, String... parameterTypeNames) {
MethodEditorBuilder methodEditorBuilder = classEditorBuilder.editMethod("execute", parameterTypeNames);
methodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.HttpUriRequestExecuteInterceptor");
}

private void addDefaultHttpRequestRetryHandlerClassEditor(ProfilerPluginSetupContext context, HttpClient4PluginConfig config) {
final ClassEditorBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.client.DefaultHttpRequestRetryHandler");
final ClassFileTransformerBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.client.DefaultHttpRequestRetryHandler");
MethodEditorBuilder methodEditorBuilder = classEditorBuilder.editMethod("retryRequest", "java.io.IOException", "int", "org.apache.http.protocol.HttpContext");
methodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.RetryRequestInterceptor");

context.addClassEditor(classEditorBuilder.build());
context.addClassFileTransformer(classEditorBuilder.build());
}

private void addClosableHttpAsyncClientClassEditor(ProfilerPluginSetupContext context, HttpClient4PluginConfig config) {
final ClassEditorBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.nio.client.CloseableHttpAsyncClient");
final ClassFileTransformerBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.nio.client.CloseableHttpAsyncClient");
// with HttpRequest
injectCloseableHttpAsyncClientExecuteMethodWithHttpRequestInterceptor(classEditorBuilder, "org.apache.http.HttpHost", "org.apache.http.HttpRequest", "org.apache.http.protocol.HttpContext", "org.apache.http.concurrent.FutureCallback");
injectCloseableHttpAsyncClientExecuteMethodWithHttpRequestInterceptor(classEditorBuilder, "org.apache.http.HttpHost", "org.apache.http.HttpRequest", "org.apache.http.concurrent.FutureCallback");
Expand All @@ -94,39 +94,39 @@ private void addClosableHttpAsyncClientClassEditor(ProfilerPluginSetupContext co
injectCloseableHttpAsyncClientExecuteMethodWithHttpUriRequestInterceptor(classEditorBuilder, "org.apache.http.client.methods.HttpUriRequest", "org.apache.http.concurrent.FutureCallback");
injectCloseableHttpAsyncClientExecuteMethodWithHttpUriRequestInterceptor(classEditorBuilder, "org.apache.http.client.methods.HttpUriRequest", "org.apache.http.protocol.HttpContext", "org.apache.http.concurrent.FutureCallback");

context.addClassEditor(classEditorBuilder.build());
context.addClassFileTransformer(classEditorBuilder.build());
}

private void injectCloseableHttpAsyncClientExecuteMethodWithHttpRequestInterceptor(final ClassEditorBuilder classEditorBuilder, String... parameterTypeNames) {
private void injectCloseableHttpAsyncClientExecuteMethodWithHttpRequestInterceptor(final ClassFileTransformerBuilder classEditorBuilder, String... parameterTypeNames) {
MethodEditorBuilder methodEditorBuilder = classEditorBuilder.editMethod("execute", parameterTypeNames);
methodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.CloseableHttpAsyncClientExecuteMethodWithHttpRequestInterceptor");
}

private void injectCloseableHttpAsyncClientExecuteMethodWithHttpAsyncRequestProducerInterceptor(final ClassEditorBuilder classEditorBuilder, String... parameterTypeNames) {
private void injectCloseableHttpAsyncClientExecuteMethodWithHttpAsyncRequestProducerInterceptor(final ClassFileTransformerBuilder classEditorBuilder, String... parameterTypeNames) {
MethodEditorBuilder methodEditorBuilder = classEditorBuilder.editMethod("execute", parameterTypeNames);
methodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.CloseableHttpAsyncClientExecuteMethodWithHttpAsyncRequestProducerInterceptor");
}

private void injectCloseableHttpAsyncClientExecuteMethodWithHttpUriRequestInterceptor(final ClassEditorBuilder classEditorBuilder, String... parameterTypeNames) {
private void injectCloseableHttpAsyncClientExecuteMethodWithHttpUriRequestInterceptor(final ClassFileTransformerBuilder classEditorBuilder, String... parameterTypeNames) {
MethodEditorBuilder methodEditorBuilder = classEditorBuilder.editMethod("execute", parameterTypeNames);
methodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.CloseableHttpAsyncClientExecuteMethodWithHttpUriRequestInterceptor");
}


private void addDefaultClientExchangeHandlerImplConstructorInterceptor(ProfilerPluginSetupContext context, HttpClient4PluginConfig config) {
final ClassEditorBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl");
final ClassFileTransformerBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl");
ConstructorEditorBuilder constructorEditorBuilder = classEditorBuilder.editConstructor("org.apache.commons.logging.Log", "org.apache.http.nio.protocol.HttpAsyncRequestProducer", "org.apache.http.nio.protocol.HttpAsyncResponseConsumer",
"org.apache.http.client.protocol.HttpClientContext", "org.apache.http.concurrent.BasicFuture", "org.apache.http.nio.conn.NHttpClientConnectionManager", "org.apache.http.impl.nio.client.InternalClientExec");
constructorEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.DefaultClientExchangeHandlerImplConstructorInterceptor");

context.addClassEditor(classEditorBuilder.build());
context.addClassFileTransformer(classEditorBuilder.build());
}

private void addClosableHttpClientClassEditor(ProfilerPluginSetupContext context, HttpClient4PluginConfig config) {
final ClassEditorBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.client.CloseableHttpClient");
final ClassFileTransformerBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.impl.client.CloseableHttpClient");
injectHttpRequestExecuteMethodInterceptor(classEditorBuilder, "org.apache.http.HttpHost", "org.apache.http.HttpRequest");
injectHttpRequestExecuteMethodInterceptor(classEditorBuilder, "org.apache.http.HttpHost", "org.apache.http.HttpRequest", "org.apache.http.protocol.HttpContext");
injectHttpRequestExecuteMethodInterceptor(classEditorBuilder, "org.apache.http.HttpHost", "org.apache.http.HttpRequest", "org.apache.http.client.ResponseHandler");
Expand All @@ -137,33 +137,33 @@ private void addClosableHttpClientClassEditor(ProfilerPluginSetupContext context
injectHttpUriRequestExecuteInterceptor(classEditorBuilder, "org.apache.http.client.methods.HttpUriRequest", "org.apache.http.client.ResponseHandler");
injectHttpUriRequestExecuteInterceptor(classEditorBuilder, "org.apache.http.client.methods.HttpUriRequest", "org.apache.http.client.ResponseHandler", "org.apache.http.protocol.HttpContext");

context.addClassEditor(classEditorBuilder.build());
context.addClassFileTransformer(classEditorBuilder.build());
}

private void addBasicFutureClassEditor(ProfilerPluginSetupContext context, HttpClient4PluginConfig config) {
final ClassEditorBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.concurrent.BasicFuture");
final ClassFileTransformerBuilder classEditorBuilder = context.getClassEditorBuilder("org.apache.http.concurrent.BasicFuture");
classEditorBuilder.injectMetadata(METADATA_ASYNC_TRACE_ID);

MethodEditorBuilder methodEditorBuilder = classEditorBuilder.editMethod("get");
methodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
methodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.BasicFutureMethodInterceptor");

MethodEditorBuilder getMethodEditorBuilder = classEditorBuilder.editMethod("get", "long", "java.util.concurrent.TimeUnit");
getMethodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
getMethodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
getMethodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.BasicFutureMethodInterceptor");

MethodEditorBuilder completedMethodEditorBuilder = classEditorBuilder.editMethod("completed", "java.lang.Object");
completedMethodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
completedMethodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
completedMethodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.BasicFutureMethodInterceptor");

MethodEditorBuilder failMethodEditorBuilder = classEditorBuilder.editMethod("failed", "java.lang.Exception");
failMethodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
failMethodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
failMethodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.BasicFutureMethodInterceptor");

MethodEditorBuilder cancelMethodEditorBuilder = classEditorBuilder.editMethod("cancel", "boolean");
cancelMethodEditorBuilder.property(MethodEditorProperty.IGNORE_IF_NOT_EXIST);
cancelMethodEditorBuilder.property(MethodTransformerProperty.IGNORE_IF_NOT_EXIST);
cancelMethodEditorBuilder.injectInterceptor("com.navercorp.pinpoint.plugin.httpclient4.interceptor.BasicFutureMethodInterceptor");

context.addClassEditor(classEditorBuilder.build());
context.addClassFileTransformer(classEditorBuilder.build());
}
}

0 comments on commit 9af8da7

Please sign in to comment.