mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-09 04:46:06 +10:00
code cleanup
This commit is contained in:
+3
-1
@@ -24,7 +24,9 @@ import com.navercorp.pinpoint.bootstrap.instrument.Instrumentor;
|
||||
* @author Jongho Moon
|
||||
*
|
||||
*/
|
||||
public class TransformUtils {
|
||||
public final class TransformUtils {
|
||||
private TransformUtils() {
|
||||
}
|
||||
|
||||
public static TransformCallback addInterceptor(final String interceptorClassName, final Object[] constructorArgs) {
|
||||
return new TransformCallback() {
|
||||
|
||||
@@ -80,8 +80,8 @@ public class ArcusPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.spy.memcached.ArcusClient", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor context, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = context.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
if (target.hasMethod("addOp", "java.lang.String", "net.spy.memcached.ops.Operation")) {
|
||||
boolean traceKey = config.isArcusKeyTrace();
|
||||
@@ -110,8 +110,8 @@ public class ArcusPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.spy.memcached.CacheManager", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor context, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = context.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(ServiceCodeAccessor.class.getName());
|
||||
target.addInterceptor("com.navercorp.pinpoint.plugin.arcus.interceptor.CacheManagerConstructInterceptor");
|
||||
return target.toBytecode();
|
||||
@@ -124,8 +124,8 @@ public class ArcusPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.spy.memcached.protocol.BaseOperationImpl", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor context, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = context.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(ServiceCodeAccessor.class.getName());
|
||||
return target.toBytecode();
|
||||
}
|
||||
@@ -137,8 +137,8 @@ public class ArcusPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.spy.memcached.plugin.FrontCacheGetFuture", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor context, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = context.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField(CacheNameAccessor.class.getName());
|
||||
target.addField(CacheKeyAccessor.class.getName());
|
||||
@@ -160,8 +160,8 @@ public class ArcusPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.spy.memcached.plugin.FrontCacheMemcachedClient", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor context, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = context.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
boolean traceKey = config.isMemcachedKeyTrace();
|
||||
|
||||
for (InstrumentMethod m : target.getDeclaredMethods(new FrontCacheMemcachedMethodFilter())) {
|
||||
@@ -184,8 +184,8 @@ public class ArcusPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.spy.memcached.MemcachedClient", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor context, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = context.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
if (target.hasDeclaredMethod("addOp", new String[]{"java.lang.String", "net.spy.memcached.ops.Operation"})) {
|
||||
target.addField(ServiceCodeAccessor.class.getName());
|
||||
@@ -213,8 +213,8 @@ public class ArcusPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
private static final TransformCallback FUTURE_TRANSFORMER = new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor context, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = context.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField(OperationAccessor.class.getName());
|
||||
target.addField(AsyncTraceIdAccessor.class.getName());
|
||||
@@ -237,8 +237,8 @@ public class ArcusPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
private static final TransformCallback INTERNAL_FUTURE_TRANSFORMER = new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor context, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = context.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField(AsyncTraceIdAccessor.class.getName());
|
||||
|
||||
|
||||
+8
-8
@@ -51,8 +51,8 @@ public class CubridPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("cubrid.jdbc.driver.CUBRIDConnection", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
|
||||
target.addScopedInterceptor("com.navercorp.pinpoint.bootstrap.plugin.jdbc.interceptor.ConnectionCloseInterceptor", CubridConstants.CUBRID_SCOPE);
|
||||
@@ -80,8 +80,8 @@ public class CubridPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("cubrid.jdbc.driver.CUBRIDDriver", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addScopedInterceptor("com.navercorp.pinpoint.bootstrap.plugin.jdbc.interceptor.DriverConnectInterceptor", va(new CubridJdbcUrlParser()), CubridConstants.CUBRID_SCOPE, ExecutionPolicy.ALWAYS);
|
||||
|
||||
@@ -94,8 +94,8 @@ public class CubridPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("cubrid.jdbc.driver.CUBRIDPreparedStatement", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.ParsingResultAccessor");
|
||||
@@ -115,8 +115,8 @@ public class CubridPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("cubrid.jdbc.driver.CUBRIDStatement", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
|
||||
|
||||
+4
-4
@@ -52,8 +52,8 @@ public class CommonsDbcpPlugin implements ProfilerPlugin, TransformTemplateAware
|
||||
transformTemplate.transform("org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addInterceptor("com.navercorp.pinpoint.plugin.commons.dbcp.interceptor.DataSourceCloseInterceptor");
|
||||
return target.toBytecode();
|
||||
}
|
||||
@@ -64,8 +64,8 @@ public class CommonsDbcpPlugin implements ProfilerPlugin, TransformTemplateAware
|
||||
transformTemplate.transform("org.apache.commons.dbcp.BasicDataSource", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addInterceptor("com.navercorp.pinpoint.plugin.commons.dbcp.interceptor.DataSourceGetConnectionInterceptor");
|
||||
return target.toBytecode();
|
||||
}
|
||||
|
||||
+8
-8
@@ -52,8 +52,8 @@ public class HttpClientPlugin implements ProfilerPlugin, TransformTemplateAware
|
||||
transformTemplate.transform("com.google.api.client.http.HttpRequest", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
InstrumentMethod execute = target.getDeclaredMethod("execute");
|
||||
if (execute != null) {
|
||||
@@ -66,22 +66,22 @@ public class HttpClientPlugin implements ProfilerPlugin, TransformTemplateAware
|
||||
executeAsync.addInterceptor("com.navercorp.pinpoint.plugin.google.httpclient.interceptor.HttpRequestExecuteAsyncMethodInterceptor");
|
||||
}
|
||||
|
||||
for(InstrumentClass nestedClass : target.getNestedClasses(ClassFilters.chain(ClassFilters.enclosingMethod("executeAsync", "java.util.concurrent.Executor"), ClassFilters.interfaze("java.util.concurrent.Callable")))) {
|
||||
for (InstrumentClass nestedClass : target.getNestedClasses(ClassFilters.chain(ClassFilters.enclosingMethod("executeAsync", "java.util.concurrent.Executor"), ClassFilters.interfaze("java.util.concurrent.Callable")))) {
|
||||
logger.debug("Find nested class {}", target.getName());
|
||||
Instrumentor.addClassFileTransformer(loader, nestedClass.getName(), new TransformCallback() {
|
||||
instrumentor.addClassFileTransformer(loader, nestedClass.getName(), new TransformCallback() {
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(AsyncTraceIdAccessor.class.getName());
|
||||
|
||||
InstrumentMethod constructor = target.getConstructor("com.google.api.client.http.HttpRequest");
|
||||
if(constructor != null) {
|
||||
if (constructor != null) {
|
||||
logger.debug("Add constuctor interceptor for nested class {}", target.getName());
|
||||
constructor.addInterceptor("com.navercorp.pinpoint.plugin.google.httpclient.interceptor.HttpRequestExecuteAsyncMethodInnerClassConstructorInterceptor");
|
||||
}
|
||||
|
||||
InstrumentMethod m = target.getDeclaredMethod("call");
|
||||
if(m != null) {
|
||||
if (m != null) {
|
||||
logger.debug("Add method interceptor for nested class {}.{}", target.getName(), m.getName());
|
||||
m.addInterceptor("com.navercorp.pinpoint.plugin.google.httpclient.interceptor.HttpRequestExecuteAsyncMethodInnerClassCallMethodInterceptor");
|
||||
}
|
||||
|
||||
@@ -48,8 +48,8 @@ public class GsonPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.google.gson.Gson", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod m : target.getDeclaredMethods(MethodFilters.name("fromJson"))) {
|
||||
m.addScopedInterceptor("com.navercorp.pinpoint.plugin.gson.interceptor.FromJsonInterceptor", GSON_SCOPE);
|
||||
|
||||
+8
-8
@@ -53,7 +53,7 @@ public class HttpClient4Plugin implements ProfilerPlugin, TransformTemplateAware
|
||||
|
||||
logger.debug("Add HttpClient4(4.0 ~ 4.2");
|
||||
// Apache httpclient4 (version 4.0 ~ 4.2)
|
||||
addAbstractHttpClient4Class(context, config);
|
||||
addAbstractHttpClient4Class();
|
||||
addAbstractPooledConnAdapterClass();
|
||||
addManagedClientConnectionImplClass();
|
||||
|
||||
@@ -98,7 +98,7 @@ public class HttpClient4Plugin implements ProfilerPlugin, TransformTemplateAware
|
||||
});
|
||||
}
|
||||
|
||||
private void addAbstractHttpClient4Class(ProfilerPluginSetupContext context, HttpClient4PluginConfig config) {
|
||||
private void addAbstractHttpClient4Class() {
|
||||
transformTemplate.transform("org.apache.http.impl.client.AbstractHttpClient", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
@@ -254,8 +254,8 @@ public class HttpClient4Plugin implements ProfilerPlugin, TransformTemplateAware
|
||||
transformTemplate.transform("org.apache.http.impl.nio.client.CloseableHttpAsyncClient", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
injectHttpAsyncClientExecuteMethodInterceptor(target, "org.apache.http.HttpHost", "org.apache.http.HttpRequest", "org.apache.http.protocol.HttpContext", "org.apache.http.concurrent.FutureCallback");
|
||||
injectHttpAsyncClientExecuteMethodInterceptor(target, "org.apache.http.HttpHost", "org.apache.http.HttpRequest", "org.apache.http.concurrent.FutureCallback");
|
||||
@@ -281,8 +281,8 @@ public class HttpClient4Plugin implements ProfilerPlugin, TransformTemplateAware
|
||||
transformTemplate.transform("org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addGetter(RequestProducerGetter.class.getName(), HttpClient4Constants.FIELD_REQUEST_PRODUCER);
|
||||
target.addGetter(ResultFutureGetter.class.getName(), HttpClient4Constants.FIELD_RESULT_FUTURE);
|
||||
@@ -303,8 +303,8 @@ public class HttpClient4Plugin implements ProfilerPlugin, TransformTemplateAware
|
||||
transformTemplate.transform("org.apache.http.concurrent.BasicFuture", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField(AsyncTraceIdAccessor.class.getName());
|
||||
|
||||
|
||||
@@ -87,11 +87,11 @@ public class IBatisPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader,
|
||||
String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain,
|
||||
byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
final List<InstrumentMethod> methodsToTrace = target.getDeclaredMethods(methodFilter);
|
||||
for (InstrumentMethod methodToTrace : methodsToTrace) {
|
||||
|
||||
+9
-9
@@ -61,8 +61,8 @@ public class JacksonPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(clazzName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
final InstrumentMethod constructor1 = target.getConstructor();
|
||||
addInterceptor(constructor1, BASIC_METHOD_INTERCEPTOR, va(JacksonConstants.SERVICE_TYPE));
|
||||
@@ -99,8 +99,8 @@ public class JacksonPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(clazzName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
final InstrumentMethod constructor1 = target.getConstructor();
|
||||
addInterceptor(constructor1, BASIC_METHOD_INTERCEPTOR, va(JacksonConstants.SERVICE_TYPE));
|
||||
@@ -145,8 +145,8 @@ public class JacksonPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(clazzName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name("readValue", "readValues"))) {
|
||||
addInterceptor(method, READ_VALUE_INTERCEPTOR);
|
||||
@@ -162,9 +162,9 @@ public class JacksonPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(clazzName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
// InterceptorScope scope = Instrumentor.getInterceptorScope(JACKSON_SCOPE);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
// InterceptorScope scope = instrumentor.getInterceptorScope(JACKSON_SCOPE);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name("writeValue"))) {
|
||||
addInterceptor(method, BASIC_METHOD_INTERCEPTOR, va(JacksonConstants.SERVICE_TYPE));
|
||||
|
||||
+2
-2
@@ -40,8 +40,8 @@ public class JdkHttpPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("sun.net.www.protocol.http.HttpURLConnection", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addGetter(ConnectedGetter.class.getName(), "connected");
|
||||
|
||||
|
||||
+6
-6
@@ -56,8 +56,8 @@ public class JsonLibPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(clazzName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name("toJSON"))) {
|
||||
addInterceptor(method, PARSING_INTERCEPTOR);
|
||||
@@ -78,8 +78,8 @@ public class JsonLibPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(clazzName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name("fromObject"))) {
|
||||
addInterceptor(method, PARSING_INTERCEPTOR);
|
||||
@@ -103,8 +103,8 @@ public class JsonLibPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(clazzName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name("fromObject"))) {
|
||||
addInterceptor(method, PARSING_INTERCEPTOR);
|
||||
|
||||
@@ -51,8 +51,8 @@ public class JtdsPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
TransformCallback transformer = new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
|
||||
target.addScopedInterceptor("com.navercorp.pinpoint.bootstrap.plugin.jdbc.interceptor.ConnectionCloseInterceptor", JtdsConstants.JTDS_SCOPE);
|
||||
@@ -83,8 +83,8 @@ public class JtdsPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.sourceforge.jtds.jdbc.Driver", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addScopedInterceptor("com.navercorp.pinpoint.bootstrap.plugin.jdbc.interceptor.DriverConnectInterceptor", va(new JtdsJdbcUrlParser()), JtdsConstants.JTDS_SCOPE, ExecutionPolicy.ALWAYS);
|
||||
|
||||
@@ -97,8 +97,8 @@ public class JtdsPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.sourceforge.jtds.jdbc.JtdsPreparedStatement", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.ParsingResultAccessor");
|
||||
@@ -118,8 +118,8 @@ public class JtdsPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("net.sourceforge.jtds.jdbc.JtdsStatement", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
|
||||
|
||||
@@ -37,8 +37,8 @@ public class Log4jPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("org.apache.log4j.spi.LoggingEvent", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass mdcClass = Instrumentor.getInstrumentClass(loader, "org.apache.log4j.MDC", null);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass mdcClass = instrumentor.getInstrumentClass(loader, "org.apache.log4j.MDC", null);
|
||||
|
||||
if (mdcClass == null) {
|
||||
logger.warn("modify fail. Because org.apache.log4j.MDC does not exist.");
|
||||
@@ -54,7 +54,7 @@ public class Log4jPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
return null;
|
||||
}
|
||||
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addInterceptor("com.navercorp.pinpoint.plugin.log4j.interceptor.LoggingEventOfLog4jInterceptor");
|
||||
|
||||
return target.toBytecode();
|
||||
|
||||
+3
-3
@@ -38,8 +38,8 @@ public class LogbackPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("ch.qos.logback.classic.spi.LoggingEvent", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass mdcClass = Instrumentor.getInstrumentClass(loader, "org.slf4j.MDC", null);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass mdcClass = instrumentor.getInstrumentClass(loader, "org.slf4j.MDC", null);
|
||||
|
||||
if (mdcClass == null) {
|
||||
logger.warn("modify fail. Because org.slf4j.MDC does not exist.");
|
||||
@@ -55,7 +55,7 @@ public class LogbackPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
return null;
|
||||
}
|
||||
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addInterceptor("com.navercorp.pinpoint.plugin.logback.interceptor.LoggingEventOfLogbackInterceptor");
|
||||
|
||||
return target.toBytecode();
|
||||
|
||||
+2
-2
@@ -65,11 +65,11 @@ public class MyBatisPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(sqlSession, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader,
|
||||
String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain,
|
||||
byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, sqlSession, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, sqlSession, classfileBuffer);
|
||||
|
||||
final List<InstrumentMethod> methodsToTrace = target.getDeclaredMethods(methodFilter);
|
||||
for (InstrumentMethod methodToTrace : methodsToTrace) {
|
||||
|
||||
+10
-10
@@ -55,8 +55,8 @@ public class MySqlPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
TransformCallback transformer = new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
if (!target.isInterceptable()) {
|
||||
return null;
|
||||
@@ -93,8 +93,8 @@ public class MySqlPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.mysql.jdbc.NonRegisteringDriver", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addScopedInterceptor("com.navercorp.pinpoint.bootstrap.plugin.jdbc.interceptor.DriverConnectInterceptor", va(new MySqlJdbcUrlParser(), false), MySqlConstants.MYSQL_SCOPE, ExecutionPolicy.ALWAYS);
|
||||
|
||||
@@ -107,8 +107,8 @@ public class MySqlPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.mysql.jdbc.PreparedStatement", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.ParsingResultAccessor");
|
||||
@@ -129,8 +129,8 @@ public class MySqlPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.mysql.jdbc.JDBC4PreparedStatement", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
final PreparedStatementBindingMethodFilter includes = PreparedStatementBindingMethodFilter.includes("setRowId", "setNClob", "setSQLXML");
|
||||
target.addScopedInterceptor(includes, "com.navercorp.pinpoint.bootstrap.plugin.jdbc.interceptor.PreparedStatementBindVariableInterceptor", MySqlConstants.MYSQL_SCOPE, ExecutionPolicy.BOUNDARY);
|
||||
@@ -145,8 +145,8 @@ public class MySqlPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
TransformCallback transformer = new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
if (!target.isInterceptable()) {
|
||||
return null;
|
||||
|
||||
+2
-2
@@ -48,8 +48,8 @@ public class NingAsyncHttpClientPlugin implements ProfilerPlugin, TransformTempl
|
||||
transformTemplate.transform("com.ning.http.client.AsyncHttpClient", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addInterceptor("com.navercorp.pinpoint.plugin.ning.asynchttpclient.interceptor.ExecuteRequestInterceptor");
|
||||
|
||||
return target.toBytecode();
|
||||
|
||||
+12
-12
@@ -59,8 +59,8 @@ public class OkHttpPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.squareup.okhttp.Call", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name("execute", "enqueue", "cancel"))) {
|
||||
method.addInterceptor("com.navercorp.pinpoint.plugin.okhttp.interceptor.CallMethodInterceptor");
|
||||
@@ -75,8 +75,8 @@ public class OkHttpPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.squareup.okhttp.Dispatcher", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name("execute", "cancel"))) {
|
||||
logger.debug("[OkHttp] Add Dispatcher.execute | cancel interceptor.");
|
||||
@@ -97,8 +97,8 @@ public class OkHttpPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.squareup.okhttp.Call$AsyncCall", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(AsyncTraceIdAccessor.class.getName());
|
||||
|
||||
InstrumentMethod executeMethod = target.getDeclaredMethod("execute");
|
||||
@@ -116,8 +116,8 @@ public class OkHttpPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.squareup.okhttp.internal.http.HttpEngine", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addGetter(UserRequestGetter.class.getName(), OkHttpConstants.FIELD_USER_REQUEST);
|
||||
target.addGetter(UserResponseGetter.class.getName(), OkHttpConstants.FIELD_USER_RESPONSE);
|
||||
target.addGetter(ConnectionGetter.class.getName(), OkHttpConstants.FIELD_CONNECTION);
|
||||
@@ -126,7 +126,7 @@ public class OkHttpPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
if (sendRequestMethod != null) {
|
||||
|
||||
logger.debug("[OkHttp] Add HttpEngine.sendRequest interceptor.");
|
||||
final ObjectFactory objectFactory = ObjectFactory.byConstructor("com.navercorp.pinpoint.plugin.okhttp.OkHttpPluginConfig", Instrumentor.getProfilerConfig());
|
||||
final ObjectFactory objectFactory = ObjectFactory.byConstructor("com.navercorp.pinpoint.plugin.okhttp.OkHttpPluginConfig", instrumentor.getProfilerConfig());
|
||||
sendRequestMethod.addInterceptor("com.navercorp.pinpoint.plugin.okhttp.interceptor.HttpEngineSendRequestMethodInterceptor", va(objectFactory));
|
||||
}
|
||||
|
||||
@@ -151,13 +151,13 @@ public class OkHttpPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("com.squareup.okhttp.Request$Builder", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
InstrumentMethod buildMethod = target.getDeclaredMethod("build");
|
||||
if (buildMethod != null) {
|
||||
logger.debug("[OkHttp] Add Request.Builder.build interceptor.");
|
||||
|
||||
if(Instrumentor.exist(loader, "com.squareup.okhttp.HttpUrl")) {
|
||||
if(instrumentor.exist(loader, "com.squareup.okhttp.HttpUrl")) {
|
||||
// over 2.4.0
|
||||
target.addGetter(HttpUrlGetter.class.getName(), OkHttpConstants.FIELD_HTTP_URL);
|
||||
buildMethod.addInterceptor("com.navercorp.pinpoint.plugin.okhttp.interceptor.RequestBuilderBuildMethodInterceptor");
|
||||
|
||||
+10
-10
@@ -56,8 +56,8 @@ public class OraclePlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("oracle.jdbc.driver.PhysicalConnection", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
|
||||
|
||||
@@ -86,8 +86,8 @@ public class OraclePlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("oracle.jdbc.driver.OracleDriver", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addScopedInterceptor("com.navercorp.pinpoint.bootstrap.plugin.jdbc.interceptor.DriverConnectInterceptor", va(new OracleJdbcUrlParser()), OracleConstants.ORACLE_SCOPE, ExecutionPolicy.ALWAYS);
|
||||
|
||||
@@ -100,14 +100,14 @@ public class OraclePlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
TransformCallback transformer = new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
if (className.equals(CLASS_PREPARED_STATEMENT)) {
|
||||
if (Instrumentor.exist(loader, CLASS_PREPARED_STATEMENT_WRAPPER)) {
|
||||
if (instrumentor.exist(loader, CLASS_PREPARED_STATEMENT_WRAPPER)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.ParsingResultAccessor");
|
||||
@@ -130,14 +130,14 @@ public class OraclePlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
TransformCallback transformer = new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
if (className.equals(CLASS_STATEMENT)) {
|
||||
if (Instrumentor.exist(loader, CLASS_STATEMENT_WRAPPER)) {
|
||||
if (instrumentor.exist(loader, CLASS_STATEMENT_WRAPPER)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.addField("com.navercorp.pinpoint.bootstrap.plugin.jdbc.DatabaseInfoAccessor");
|
||||
|
||||
|
||||
@@ -76,8 +76,8 @@ public class RedisPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
if (handler != null) {
|
||||
handler.handle(target);
|
||||
}
|
||||
@@ -127,8 +127,8 @@ public class RedisPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("redis.clients.jedis.Client", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
target.addField(RedisConstants.METADATA_END_POINT);
|
||||
|
||||
final InstrumentMethod constructorEditorBuilderArg1 = target.getConstructor("java.lang.String");
|
||||
@@ -150,8 +150,8 @@ public class RedisPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("redis.clients.jedis.Protocol", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.chain(MethodFilters.name("sendCommand", "read"), MethodFilters.modifierNot(Modifier.PRIVATE)))) {
|
||||
method.addInterceptor("com.navercorp.pinpoint.plugin.redis.interceptor.ProtocolSendCommandAndReadMethodInterceptor");
|
||||
@@ -193,8 +193,8 @@ public class RedisPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
if (handler != null) {
|
||||
handler.handle(target);
|
||||
}
|
||||
|
||||
+2
-2
@@ -46,8 +46,8 @@ public class SpringBeansPlugin implements ProfilerPlugin, TransformTemplateAware
|
||||
transformTemplate.transform("org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
BeanMethodTransformer beanTransformer = new BeanMethodTransformer();
|
||||
ObjectFactory beanFilterFactory = ObjectFactory.byStaticFactory("com.navercorp.pinpoint.plugin.spring.beans.interceptor.TargetBeanFilter", "of", context.getConfig());
|
||||
|
||||
+2
-2
@@ -31,8 +31,8 @@ import com.navercorp.pinpoint.bootstrap.logging.PLoggerFactory;
|
||||
public class PostProcessorInterceptor extends AbstractSpringBeanCreationInterceptor implements AroundInterceptor2 {
|
||||
private final PLogger logger = PLoggerFactory.getLogger(getClass());
|
||||
|
||||
public PostProcessorInterceptor(Instrumentor Instrumentor, TransformCallback transformer, TargetBeanFilter filter) {
|
||||
super(Instrumentor, transformer, filter);
|
||||
public PostProcessorInterceptor(Instrumentor instrumentor, TransformCallback transformer, TargetBeanFilter filter) {
|
||||
super(instrumentor, transformer, filter);
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
+2
-2
@@ -44,8 +44,8 @@ public class SpringWebMvcPlugin implements ProfilerPlugin, TransformTemplateAwar
|
||||
transformTemplate.transform("org.springframework.web.servlet.FrameworkServlet", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
target.getDeclaredMethod("doGet", "javax.servlet.http.HttpServletRequest", "javax.servlet.http.HttpServletResponse").addInterceptor(BasicMethodInterceptor.class.getName(), va(SPRING_MVC));
|
||||
target.getDeclaredMethod("doPost", "javax.servlet.http.HttpServletRequest", "javax.servlet.http.HttpServletResponse").addInterceptor(BasicMethodInterceptor.class.getName(), va(SPRING_MVC));
|
||||
|
||||
+22
-22
@@ -87,10 +87,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
// TServiceClient.sendBase(String, TBase)
|
||||
final InstrumentMethod sendBase = target.getDeclaredMethod("sendBase", "java.lang.String", "org.apache.thrift.TBase");
|
||||
@@ -123,10 +123,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
// TAsyncClientManager.call(TAsyncMethodCall)
|
||||
final InstrumentMethod call = target.getDeclaredMethod("call", "org.apache.thrift.async.TAsyncMethodCall");
|
||||
@@ -146,10 +146,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(SocketAddressFieldAccessor.class.getName());
|
||||
target.addField(AsyncMarkerFlagFieldAccessor.class.getName());
|
||||
target.addField(AsyncTraceIdFieldAccessor.class.getName());
|
||||
@@ -241,10 +241,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
// TBaseProcessor.process(TProtocol, TProtocol)
|
||||
final InstrumentMethod process = target.getDeclaredMethod("process", "org.apache.thrift.protocol.TProtocol",
|
||||
@@ -265,10 +265,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(ServerMarkerFlagFieldAccessor.class.getName());
|
||||
|
||||
// ProcessFunction.process(int, TProtocol, TProtocol, I)
|
||||
@@ -296,10 +296,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(ServerMarkerFlagFieldAccessor.class.getName());
|
||||
target.addField(AsyncMarkerFlagFieldAccessor.class.getName());
|
||||
|
||||
@@ -358,10 +358,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(SocketFieldAccessor.class.getName());
|
||||
return target.toBytecode();
|
||||
}
|
||||
@@ -375,10 +375,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(SocketFieldAccessor.class.getName());
|
||||
|
||||
for (String[] parameterTypeGroup : parameterTypeGroups) {
|
||||
@@ -399,10 +399,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(SocketFieldAccessor.class.getName());
|
||||
target.addField(SocketAddressFieldAccessor.class.getName());
|
||||
|
||||
@@ -424,10 +424,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
target.addField(SocketFieldAccessor.class.getName());
|
||||
target.addGetter(TNonblockingTransportFieldGetter.class.getName(), ThriftConstants.FRAME_BUFFER_FIELD_TRANS_);
|
||||
|
||||
@@ -477,10 +477,10 @@ public class ThriftPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(targetClassName, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader loader, String className, Class<?> classBeingRedefined,
|
||||
ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
|
||||
final InstrumentClass target = Instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
final InstrumentClass target = instrumentor.getInstrumentClass(loader, className, classfileBuffer);
|
||||
|
||||
// client
|
||||
if (traceThriftClient) {
|
||||
|
||||
+14
-14
@@ -67,8 +67,8 @@ public class TomcatPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("org.apache.catalina.connector.Request", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
target.addField(TraceAccessor.class.getName());
|
||||
target.addField(AsyncAccessor.class.getName());
|
||||
|
||||
@@ -93,8 +93,8 @@ public class TomcatPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("org.apache.catalina.connector.RequestFacade", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
if (target != null) {
|
||||
target.weave("com.navercorp.pinpoint.plugin.tomcat.aspect.RequestFacadeAspect");
|
||||
return target.toBytecode();
|
||||
@@ -109,8 +109,8 @@ public class TomcatPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("org.apache.catalina.core.StandardHostValve", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
InstrumentMethod method = target.getDeclaredMethod("invoke", "org.apache.catalina.connector.Request", "org.apache.catalina.connector.Response");
|
||||
if (method != null) {
|
||||
@@ -126,8 +126,8 @@ public class TomcatPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("org.apache.catalina.core.StandardService", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
// Tomcat 6
|
||||
InstrumentMethod startEditor = target.getDeclaredMethod("start");
|
||||
@@ -150,8 +150,8 @@ public class TomcatPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("org.apache.catalina.connector.Connector", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
// Tomcat 6
|
||||
InstrumentMethod initializeEditor = target.getDeclaredMethod("initialize");
|
||||
@@ -174,8 +174,8 @@ public class TomcatPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("org.apache.catalina.loader.WebappLoader", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
// Tomcat 6 - org.apache.catalina.loader.WebappLoader.start()
|
||||
InstrumentMethod startEditor = target.getDeclaredMethod("start");
|
||||
@@ -198,8 +198,8 @@ public class TomcatPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform("org.apache.catalina.core.AsyncContextImpl", new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
target.addField(AsyncTraceIdAccessor.class.getName());
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name("dispatch"))) {
|
||||
method.addInterceptor("com.navercorp.pinpoint.plugin.tomcat.interceptor.AsyncContextImplDispatchMethodInterceptor");
|
||||
|
||||
@@ -63,8 +63,8 @@ public class UserPlugin implements ProfilerPlugin, TransformTemplateAware {
|
||||
transformTemplate.transform(className, new TransformCallback() {
|
||||
|
||||
@Override
|
||||
public byte[] doInTransform(Instrumentor Instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = Instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
|
||||
InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
|
||||
|
||||
for (InstrumentMethod method : target.getDeclaredMethods(MethodFilters.name(methodName))) {
|
||||
try {
|
||||
|
||||
@@ -22,8 +22,8 @@ import java.security.ProtectionDomain;
|
||||
* @author emeroad
|
||||
*/
|
||||
public interface ClassFileFilter {
|
||||
public static final boolean SKIP = false;
|
||||
public static final boolean CONTINUE = true;
|
||||
boolean SKIP = false;
|
||||
boolean CONTINUE = true;
|
||||
|
||||
boolean accept(ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classFileBuffer);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user