use of com.navercorp.pinpoint.profiler.instrument.transformer.InnerClassLambdaMetafactoryTransformer in project pinpoint by naver.
the class LambdaTransformBootloader method retransform.
private void retransform(Instrumentation instrumentation) {
final String lambdaMetaFactoryName = "java.lang.invoke.InnerClassLambdaMetafactory";
try {
final Class<?> lamdbaFactoryClazz = Class.forName(lambdaMetaFactoryName, false, null);
logger.info("retransformClasses:{}", lamdbaFactoryClazz);
final ClassFileTransformer classFileTransfomrer = new InnerClassLambdaMetafactoryTransformer();
instrumentation.addTransformer(classFileTransfomrer, true);
try {
instrumentation.retransformClasses(lamdbaFactoryClazz);
} finally {
instrumentation.removeTransformer(classFileTransfomrer);
}
} catch (Exception e) {
logger.warn("retransform fail class:{}", lambdaMetaFactoryName, e);
}
}
Aggregations