Search in sources :

Example 1 with ClassLoadingChecker

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

the class PlainClassLoaderHandler method defineJarClass.

private void defineJarClass(ClassLoader classLoader, ClassLoaderAttachment attachment) {
    if (isDebug) {
        logger.debug("define Jar:{}", pluginConfig.getPluginJarURLExternalForm());
    }
    List<FileBinary> fileBinaryList = readJar();
    Map<String, SimpleClassMetadata> classEntryMap = parse(fileBinaryList);
    for (Map.Entry<String, SimpleClassMetadata> entry : classEntryMap.entrySet()) {
        final SimpleClassMetadata classMetadata = entry.getValue();
        ClassLoadingChecker classLoadingChecker = new ClassLoadingChecker();
        classLoadingChecker.isFirstLoad(classMetadata.getClassName());
        define0(classLoader, attachment, classMetadata, classEntryMap, classLoadingChecker);
    }
}
Also used : SimpleClassMetadata(com.navercorp.pinpoint.profiler.instrument.classreading.SimpleClassMetadata) FileBinary(com.navercorp.pinpoint.profiler.util.FileBinary) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) HashMap(java.util.HashMap) ConcurrentMap(java.util.concurrent.ConcurrentMap) Map(java.util.Map) ConcurrentWeakHashMap(com.navercorp.pinpoint.common.profiler.concurrent.jsr166.ConcurrentWeakHashMap) ClassLoadingChecker(com.navercorp.pinpoint.profiler.plugin.ClassLoadingChecker)

Aggregations

ConcurrentWeakHashMap (com.navercorp.pinpoint.common.profiler.concurrent.jsr166.ConcurrentWeakHashMap)1 SimpleClassMetadata (com.navercorp.pinpoint.profiler.instrument.classreading.SimpleClassMetadata)1 ClassLoadingChecker (com.navercorp.pinpoint.profiler.plugin.ClassLoadingChecker)1 FileBinary (com.navercorp.pinpoint.profiler.util.FileBinary)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)1 ConcurrentMap (java.util.concurrent.ConcurrentMap)1