Mercurial > hg > graal-jvmci-8
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 { |