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());
}
Aggregations