comparison src/share/vm/gc_implementation/shared/gcTrace.hpp @ 17771:9fdaa79b0c27

8036703: Add trace event with statistics for the metaspace chunk free lists Reviewed-by: stefank, mgerdin, coleenp, egahlin
author ehelin
date Fri, 21 Mar 2014 10:31:51 +0100
parents 86e6d691f2e1
children 0982ec23da03
comparison
equal deleted inserted replaced
17770:5af31f70a866 17771:9fdaa79b0c27
28 #include "gc_interface/gcCause.hpp" 28 #include "gc_interface/gcCause.hpp"
29 #include "gc_interface/gcName.hpp" 29 #include "gc_interface/gcName.hpp"
30 #include "gc_implementation/shared/gcWhen.hpp" 30 #include "gc_implementation/shared/gcWhen.hpp"
31 #include "gc_implementation/shared/copyFailedInfo.hpp" 31 #include "gc_implementation/shared/copyFailedInfo.hpp"
32 #include "memory/allocation.hpp" 32 #include "memory/allocation.hpp"
33 #include "memory/metaspace.hpp"
33 #include "memory/referenceType.hpp" 34 #include "memory/referenceType.hpp"
34 #if INCLUDE_ALL_GCS 35 #if INCLUDE_ALL_GCS
35 #include "gc_implementation/g1/g1YCTypes.hpp" 36 #include "gc_implementation/g1/g1YCTypes.hpp"
36 #endif 37 #endif
37 #include "utilities/macros.hpp" 38 #include "utilities/macros.hpp"
39 40
40 typedef uint GCId; 41 typedef uint GCId;
41 42
42 class EvacuationInfo; 43 class EvacuationInfo;
43 class GCHeapSummary; 44 class GCHeapSummary;
45 class MetaspaceChunkFreeListSummary;
44 class MetaspaceSummary; 46 class MetaspaceSummary;
45 class PSHeapSummary; 47 class PSHeapSummary;
46 class ReferenceProcessorStats; 48 class ReferenceProcessorStats;
47 class TimePartitions; 49 class TimePartitions;
48 class BoolObjectClosure; 50 class BoolObjectClosure;
122 SharedGCInfo _shared_gc_info; 124 SharedGCInfo _shared_gc_info;
123 125
124 public: 126 public:
125 void report_gc_start(GCCause::Cause cause, const Ticks& timestamp); 127 void report_gc_start(GCCause::Cause cause, const Ticks& timestamp);
126 void report_gc_end(const Ticks& timestamp, TimePartitions* time_partitions); 128 void report_gc_end(const Ticks& timestamp, TimePartitions* time_partitions);
127 void report_gc_heap_summary(GCWhen::Type when, const GCHeapSummary& heap_summary, const MetaspaceSummary& meta_space_summary) const; 129 void report_gc_heap_summary(GCWhen::Type when, const GCHeapSummary& heap_summary) const;
130 void report_metaspace_summary(GCWhen::Type when, const MetaspaceSummary& metaspace_summary) const;
128 void report_gc_reference_stats(const ReferenceProcessorStats& rp) const; 131 void report_gc_reference_stats(const ReferenceProcessorStats& rp) const;
129 void report_object_count_after_gc(BoolObjectClosure* object_filter) NOT_SERVICES_RETURN; 132 void report_object_count_after_gc(BoolObjectClosure* object_filter) NOT_SERVICES_RETURN;
130 bool has_reported_gc_start() const; 133 bool has_reported_gc_start() const;
131 134
132 protected: 135 protected:
136 139
137 private: 140 private:
138 void send_garbage_collection_event() const; 141 void send_garbage_collection_event() const;
139 void send_gc_heap_summary_event(GCWhen::Type when, const GCHeapSummary& heap_summary) const; 142 void send_gc_heap_summary_event(GCWhen::Type when, const GCHeapSummary& heap_summary) const;
140 void send_meta_space_summary_event(GCWhen::Type when, const MetaspaceSummary& meta_space_summary) const; 143 void send_meta_space_summary_event(GCWhen::Type when, const MetaspaceSummary& meta_space_summary) const;
144 void send_metaspace_chunk_free_list_summary(GCWhen::Type when, Metaspace::MetadataType mdtype, const MetaspaceChunkFreeListSummary& summary) const;
141 void send_reference_stats_event(ReferenceType type, size_t count) const; 145 void send_reference_stats_event(ReferenceType type, size_t count) const;
142 void send_phase_events(TimePartitions* time_partitions) const; 146 void send_phase_events(TimePartitions* time_partitions) const;
143 }; 147 };
144 148
145 class YoungGCTracer : public GCTracer { 149 class YoungGCTracer : public GCTracer {