< prev index next >

src/hotspot/share/jfr/periodic/jfrPeriodic.cpp

Print this page




 463   event.set_unloadedClassCount(ClassLoadingService::unloaded_class_count());
 464   event.commit();
 465 }
 466 
 467 class JfrClassLoaderStatsClosure : public ClassLoaderStatsClosure {
 468 public:
 469   JfrClassLoaderStatsClosure() : ClassLoaderStatsClosure(NULL) {}
 470 
 471   bool do_entry(oop const& key, ClassLoaderStats* const& cls) {
 472     const ClassLoaderData* this_cld = cls->_class_loader != NULL ?
 473       java_lang_ClassLoader::loader_data_acquire(cls->_class_loader) : NULL;
 474     const ClassLoaderData* parent_cld = cls->_parent != NULL ?
 475       java_lang_ClassLoader::loader_data_acquire(cls->_parent) : NULL;
 476     EventClassLoaderStatistics event;
 477     event.set_classLoader(this_cld);
 478     event.set_parentClassLoader(parent_cld);
 479     event.set_classLoaderData((intptr_t)cls->_cld);
 480     event.set_classCount(cls->_classes_count);
 481     event.set_chunkSize(cls->_chunk_sz);
 482     event.set_blockSize(cls->_block_sz);
 483     event.set_unsafeAnonymousClassCount(cls->_anon_classes_count);
 484     event.set_unsafeAnonymousChunkSize(cls->_anon_chunk_sz);
 485     event.set_unsafeAnonymousBlockSize(cls->_anon_block_sz);
 486     event.set_hiddenClassCount(cls->_hidden_classes_count);
 487     event.set_hiddenChunkSize(cls->_hidden_chunk_sz);
 488     event.set_hiddenBlockSize(cls->_hidden_block_sz);
 489     event.commit();
 490     return true;
 491   }
 492 
 493   void createEvents(void) {
 494     _stats->iterate(this);
 495   }
 496 };
 497 
 498 class JfrClassLoaderStatsVMOperation : public ClassLoaderStatsVMOperation {
 499  public:
 500   JfrClassLoaderStatsVMOperation() : ClassLoaderStatsVMOperation(NULL) { }
 501 
 502   void doit() {
 503     JfrClassLoaderStatsClosure clsc;
 504     ClassLoaderDataGraph::loaded_cld_do(&clsc);
 505     clsc.createEvents();




 463   event.set_unloadedClassCount(ClassLoadingService::unloaded_class_count());
 464   event.commit();
 465 }
 466 
 467 class JfrClassLoaderStatsClosure : public ClassLoaderStatsClosure {
 468 public:
 469   JfrClassLoaderStatsClosure() : ClassLoaderStatsClosure(NULL) {}
 470 
 471   bool do_entry(oop const& key, ClassLoaderStats* const& cls) {
 472     const ClassLoaderData* this_cld = cls->_class_loader != NULL ?
 473       java_lang_ClassLoader::loader_data_acquire(cls->_class_loader) : NULL;
 474     const ClassLoaderData* parent_cld = cls->_parent != NULL ?
 475       java_lang_ClassLoader::loader_data_acquire(cls->_parent) : NULL;
 476     EventClassLoaderStatistics event;
 477     event.set_classLoader(this_cld);
 478     event.set_parentClassLoader(parent_cld);
 479     event.set_classLoaderData((intptr_t)cls->_cld);
 480     event.set_classCount(cls->_classes_count);
 481     event.set_chunkSize(cls->_chunk_sz);
 482     event.set_blockSize(cls->_block_sz);



 483     event.set_hiddenClassCount(cls->_hidden_classes_count);
 484     event.set_hiddenChunkSize(cls->_hidden_chunk_sz);
 485     event.set_hiddenBlockSize(cls->_hidden_block_sz);
 486     event.commit();
 487     return true;
 488   }
 489 
 490   void createEvents(void) {
 491     _stats->iterate(this);
 492   }
 493 };
 494 
 495 class JfrClassLoaderStatsVMOperation : public ClassLoaderStatsVMOperation {
 496  public:
 497   JfrClassLoaderStatsVMOperation() : ClassLoaderStatsVMOperation(NULL) { }
 498 
 499   void doit() {
 500     JfrClassLoaderStatsClosure clsc;
 501     ClassLoaderDataGraph::loaded_cld_do(&clsc);
 502     clsc.createEvents();


< prev index next >