Search in sources :

Example 1 with Foo

use of com.navercorp.pinpoint.profiler.plugin.Foo in project pinpoint by naver.

the class MatchableTransformerRegistryTest method findTransformer.

@Test
public void findTransformer() {
    List<MatchableClassFileTransformer> matchableClassFileTransformerList = new ArrayList<>();
    MockMatchableClassFileTransformer mock1 = new MockMatchableClassFileTransformer(Matchers.newPackageBasedMatcher("com.navercorp.pinpoint.profiler.plugin"));
    MockMatchableClassFileTransformer mock2 = new MockMatchableClassFileTransformer(Matchers.newPackageBasedMatcher("com.navercorp.pinpoint.profiler.sender"));
    matchableClassFileTransformerList.add(mock1);
    matchableClassFileTransformerList.add(mock2);
    MatchableTransformerRegistry registry = new MatchableTransformerRegistry(new DefaultInstrumentMatcherCacheConfig(), matchableClassFileTransformerList);
    final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    Class<?> clazz = Foo.class;
    byte[] classFileByteCodes = BytecodeUtils.getClassFile(classLoader, clazz.getName());
    ClassFileTransformer classFileTransformer = registry.findTransformer(classLoader, "com/navercorp/pinpoint/profiler/plugin/Foo", classFileByteCodes);
    clazz = Bar.class;
    classFileByteCodes = BytecodeUtils.getClassFile(classLoader, clazz.getName());
    classFileTransformer = registry.findTransformer(classLoader, "com/navercorp/pinpoint/profiler/sender/Bar", classFileByteCodes);
    System.out.println(classFileTransformer.toString());
}
Also used : MatchableClassFileTransformer(com.navercorp.pinpoint.profiler.plugin.MatchableClassFileTransformer) ClassFileTransformer(java.lang.instrument.ClassFileTransformer) MatchableClassFileTransformer(com.navercorp.pinpoint.profiler.plugin.MatchableClassFileTransformer) Foo(com.navercorp.pinpoint.profiler.plugin.Foo) ArrayList(java.util.ArrayList) DefaultInstrumentMatcherCacheConfig(com.navercorp.pinpoint.profiler.instrument.config.DefaultInstrumentMatcherCacheConfig) Test(org.junit.Test)

Aggregations

DefaultInstrumentMatcherCacheConfig (com.navercorp.pinpoint.profiler.instrument.config.DefaultInstrumentMatcherCacheConfig)1 Foo (com.navercorp.pinpoint.profiler.plugin.Foo)1 MatchableClassFileTransformer (com.navercorp.pinpoint.profiler.plugin.MatchableClassFileTransformer)1 ClassFileTransformer (java.lang.instrument.ClassFileTransformer)1 ArrayList (java.util.ArrayList)1 Test (org.junit.Test)1