src/share/vm/gc_implementation/shared/gcTrace.cpp

Print this page
rev 6072 : 8036703: Add trace event with statistics for the metaspace chunk free lists


 129     ResourceMark rm;
 130 
 131     KlassInfoTable cit(false);
 132     if (!cit.allocation_failed()) {
 133       HeapInspection hi(false, false, false, NULL);
 134       hi.populate_table(&cit, is_alive_cl);
 135       ObjectCountEventSenderClosure event_sender(_shared_gc_info.id(), cit.size_of_instances_in_words(), Ticks::now());
 136       cit.iterate(&event_sender);
 137     }
 138   }
 139 }
 140 #endif // INCLUDE_SERVICES
 141 
 142 void GCTracer::report_gc_heap_summary(GCWhen::Type when, const GCHeapSummary& heap_summary, const MetaspaceSummary& meta_space_summary) const {
 143   assert_set_gc_id();
 144 
 145   send_gc_heap_summary_event(when, heap_summary);
 146   send_meta_space_summary_event(when, meta_space_summary);
 147 }
 148 








 149 void YoungGCTracer::report_gc_end_impl(const Ticks& timestamp, TimePartitions* time_partitions) {
 150   assert_set_gc_id();
 151   assert(_tenuring_threshold != UNSET_TENURING_THRESHOLD, "Tenuring threshold has not been reported");
 152 
 153   GCTracer::report_gc_end_impl(timestamp, time_partitions);
 154   send_young_gc_event();
 155 
 156   _tenuring_threshold = UNSET_TENURING_THRESHOLD;
 157 }
 158 
 159 void YoungGCTracer::report_promotion_failed(const PromotionFailedInfo& pf_info) {
 160   assert_set_gc_id();
 161 
 162   send_promotion_failed_event(pf_info);
 163 }
 164 
 165 void YoungGCTracer::report_tenuring_threshold(const uint tenuring_threshold) {
 166   _tenuring_threshold = tenuring_threshold;
 167 }
 168 




 129     ResourceMark rm;
 130 
 131     KlassInfoTable cit(false);
 132     if (!cit.allocation_failed()) {
 133       HeapInspection hi(false, false, false, NULL);
 134       hi.populate_table(&cit, is_alive_cl);
 135       ObjectCountEventSenderClosure event_sender(_shared_gc_info.id(), cit.size_of_instances_in_words(), Ticks::now());
 136       cit.iterate(&event_sender);
 137     }
 138   }
 139 }
 140 #endif // INCLUDE_SERVICES
 141 
 142 void GCTracer::report_gc_heap_summary(GCWhen::Type when, const GCHeapSummary& heap_summary, const MetaspaceSummary& meta_space_summary) const {
 143   assert_set_gc_id();
 144 
 145   send_gc_heap_summary_event(when, heap_summary);
 146   send_meta_space_summary_event(when, meta_space_summary);
 147 }
 148 
 149 void GCTracer::report_metaspace_chunk_free_list_summary(GCWhen::Type when,
 150                                                         Metaspace::MetadataType mdtype,
 151                                                         const MetaspaceChunkFreeListSummary& summary) const {
 152     assert_set_gc_id();
 153 
 154     send_metaspace_chunk_free_list_summary(when, mdtype, summary);
 155 }
 156 
 157 void YoungGCTracer::report_gc_end_impl(const Ticks& timestamp, TimePartitions* time_partitions) {
 158   assert_set_gc_id();
 159   assert(_tenuring_threshold != UNSET_TENURING_THRESHOLD, "Tenuring threshold has not been reported");
 160 
 161   GCTracer::report_gc_end_impl(timestamp, time_partitions);
 162   send_young_gc_event();
 163 
 164   _tenuring_threshold = UNSET_TENURING_THRESHOLD;
 165 }
 166 
 167 void YoungGCTracer::report_promotion_failed(const PromotionFailedInfo& pf_info) {
 168   assert_set_gc_id();
 169 
 170   send_promotion_failed_event(pf_info);
 171 }
 172 
 173 void YoungGCTracer::report_tenuring_threshold(const uint tenuring_threshold) {
 174   _tenuring_threshold = tenuring_threshold;
 175 }
 176