void GCTracer::report_gc_end(jlong timestamp, TimePartitions* time_partitions) { assert_set_gc_id(); report_gc_end_impl(timestamp, time_partitions); _shared_gc_info.set_id(SharedGCInfo::UNSET_GCID); }
void GCTracer::report_gc_reference_stats(const ReferenceProcessorStats& rps) const { assert_set_gc_id(); send_reference_stats_event(REF_SOFT, rps.soft_count()); send_reference_stats_event(REF_WEAK, rps.weak_count()); send_reference_stats_event(REF_FINAL, rps.final_count()); send_reference_stats_event(REF_PHANTOM, rps.phantom_count()); }
void YoungGCTracer::report_gc_end_impl(jlong timestamp, TimePartitions* time_partitions) { assert_set_gc_id(); assert(_tenuring_threshold != UNSET_TENURING_THRESHOLD, "Tenuring threshold has not been reported"); GCTracer::report_gc_end_impl(timestamp, time_partitions); send_young_gc_event(); _tenuring_threshold = UNSET_TENURING_THRESHOLD; }
void GCTracer::report_gc_end_impl(jlong timestamp, TimePartitions* time_partitions) { assert_set_gc_id(); _shared_gc_info.set_sum_of_pauses(time_partitions->sum_of_pauses()); _shared_gc_info.set_longest_pause(time_partitions->longest_pause()); _shared_gc_info.set_end_timestamp(timestamp); send_phase_events(time_partitions); send_garbage_collection_event(); }
void GCTracer::report_object_count_after_gc(BoolObjectClosure* is_alive_cl) { assert_set_gc_id(); assert(is_alive_cl != NULL, "Must supply function to check liveness"); if (ObjectCountEventSender::should_send_event()) { ResourceMark rm; KlassInfoTable cit(false); if (!cit.allocation_failed()) { HeapInspection hi(false, false, false, NULL); hi.populate_table(&cit, is_alive_cl); jlong timestamp = os::elapsed_counter(); ObjectCountEventSenderClosure event_sender(_shared_gc_info.id(), cit.size_of_instances_in_words(), timestamp); cit.iterate(&event_sender); } } }
void G1NewTracer::report_evacuation_failed(EvacuationFailedInfo& ef_info) { assert_set_gc_id(); send_evacuation_failed_event(ef_info); ef_info.reset(); }
void G1NewTracer::report_evacuation_info(EvacuationInfo* info) { assert_set_gc_id(); send_evacuation_info_event(info); }
void G1NewTracer::report_gc_end_impl(jlong timestamp, TimePartitions* time_partitions) { assert_set_gc_id(); YoungGCTracer::report_gc_end_impl(timestamp, time_partitions); send_g1_young_gc_event(); }
void G1NewTracer::report_yc_type(G1YCType type) { assert_set_gc_id(); _g1_young_gc_info.set_type(type); }
void OldGCTracer::report_concurrent_mode_failure() { assert_set_gc_id(); send_concurrent_mode_failure_event(); }
void ParallelOldTracer::report_dense_prefix(void* dense_prefix) { assert_set_gc_id(); _parallel_old_gc_info.report_dense_prefix(dense_prefix); }
void ParallelOldTracer::report_gc_end_impl(jlong timestamp, TimePartitions* time_partitions) { assert_set_gc_id(); OldGCTracer::report_gc_end_impl(timestamp, time_partitions); send_parallel_old_event(); }
void YoungGCTracer::report_promotion_failed(const PromotionFailedInfo& pf_info) { assert_set_gc_id(); send_promotion_failed_event(pf_info); }
void GCTracer::report_gc_heap_summary(GCWhen::Type when, const GCHeapSummary& heap_summary, const MetaspaceSummary& meta_space_summary) const { assert_set_gc_id(); send_gc_heap_summary_event(when, heap_summary); send_meta_space_summary_event(when, meta_space_summary); }
void GCTracer::report_gc_heap_summary(GCWhen::Type when, const GCHeapSummary& heap_summary, const PermGenSummary& perm_gen_summary) const { assert_set_gc_id(); send_gc_heap_summary_event(when, heap_summary); send_perm_gen_summary_event(when, perm_gen_summary); }