Skip to content

Commit 554caf3

Browse files
committed
8251392: Consolidate Metaspace Statistics
Reviewed-by: coleenp, zgu
1 parent 3e97b07 commit 554caf3

33 files changed

+289
-400
lines changed

src/hotspot/share/gc/epsilon/epsilonHeap.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -331,9 +331,10 @@ void EpsilonHeap::print_heap_info(size_t used) const {
331331
}
332332

333333
void EpsilonHeap::print_metaspace_info() const {
334-
size_t reserved = MetaspaceUtils::reserved_bytes();
335-
size_t committed = MetaspaceUtils::committed_bytes();
336-
size_t used = MetaspaceUtils::used_bytes();
334+
MetaspaceCombinedStats stats = MetaspaceUtils::get_combined_statistics();
335+
size_t reserved = stats.reserved();
336+
size_t committed = stats.committed();
337+
size_t used = stats.used();
337338

338339
if (reserved != 0) {
339340
log_info(gc, metaspace)("Metaspace: " SIZE_FORMAT "%s reserved, " SIZE_FORMAT "%s (%.2f%%) committed, "

src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ void EpsilonMonitoringSupport::update_counters() {
111111
_heap_counters->update_all();
112112
_space_counters->update_all(capacity, used);
113113
MetaspaceCounters::update_performance_counters();
114-
CompressedClassSpaceCounters::update_performance_counters();
115114
}
116115
}
117116

src/hotspot/share/gc/g1/g1HeapTransition.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ G1HeapTransition::Data::Data(G1CollectedHeap* g1_heap) :
3535
_old_length(g1_heap->old_regions_count()),
3636
_archive_length(g1_heap->archive_regions_count()),
3737
_humongous_length(g1_heap->humongous_regions_count()),
38+
_meta_sizes(MetaspaceUtils::get_combined_statistics()),
3839
_eden_length_per_node(NULL),
3940
_survivor_length_per_node(NULL) {
4041

src/hotspot/share/gc/g1/g1HeapTransition.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#define SHARE_GC_G1_G1HEAPTRANSITION_HPP
2727

2828
#include "gc/shared/plab.hpp"
29-
#include "memory/metaspace/metaspaceSizesSnapshot.hpp"
29+
#include "memory/metaspaceStats.hpp"
3030

3131
class G1CollectedHeap;
3232

@@ -37,7 +37,7 @@ class G1HeapTransition {
3737
size_t _old_length;
3838
size_t _archive_length;
3939
size_t _humongous_length;
40-
const metaspace::MetaspaceSizesSnapshot _meta_sizes;
40+
const MetaspaceCombinedStats _meta_sizes;
4141

4242
// Only includes current eden regions.
4343
uint* _eden_length_per_node;

src/hotspot/share/gc/g1/g1MonitoringSupport.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,6 @@ void G1MonitoringSupport::update_sizes() {
303303
_old_gen_counters->update_all();
304304

305305
MetaspaceCounters::update_performance_counters();
306-
CompressedClassSpaceCounters::update_performance_counters();
307306
}
308307
}
309308

src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,6 @@ void ParallelScavengeHeap::update_counters() {
184184
young_gen()->update_counters();
185185
old_gen()->update_counters();
186186
MetaspaceCounters::update_performance_counters();
187-
CompressedClassSpaceCounters::update_performance_counters();
188187
}
189188

190189
size_t ParallelScavengeHeap::capacity() const {

src/hotspot/share/gc/shared/collectedHeap.cpp

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -128,25 +128,12 @@ GCHeapSummary CollectedHeap::create_heap_summary() {
128128
}
129129

130130
MetaspaceSummary CollectedHeap::create_metaspace_summary() {
131-
const MetaspaceSizes meta_space(
132-
MetaspaceUtils::committed_bytes(),
133-
MetaspaceUtils::used_bytes(),
134-
MetaspaceUtils::reserved_bytes());
135-
const MetaspaceSizes data_space(
136-
MetaspaceUtils::committed_bytes(Metaspace::NonClassType),
137-
MetaspaceUtils::used_bytes(Metaspace::NonClassType),
138-
MetaspaceUtils::reserved_bytes(Metaspace::NonClassType));
139-
const MetaspaceSizes class_space(
140-
MetaspaceUtils::committed_bytes(Metaspace::ClassType),
141-
MetaspaceUtils::used_bytes(Metaspace::ClassType),
142-
MetaspaceUtils::reserved_bytes(Metaspace::ClassType));
143-
144131
const MetaspaceChunkFreeListSummary& ms_chunk_free_list_summary =
145132
MetaspaceUtils::chunk_free_list_summary(Metaspace::NonClassType);
146133
const MetaspaceChunkFreeListSummary& class_chunk_free_list_summary =
147134
MetaspaceUtils::chunk_free_list_summary(Metaspace::ClassType);
148-
149-
return MetaspaceSummary(MetaspaceGC::capacity_until_GC(), meta_space, data_space, class_space,
135+
return MetaspaceSummary(MetaspaceGC::capacity_until_GC(),
136+
MetaspaceUtils::get_combined_statistics(),
150137
ms_chunk_free_list_summary, class_chunk_free_list_summary);
151138
}
152139

src/hotspot/share/gc/shared/gcHeapSummary.hpp

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#define SHARE_GC_SHARED_GCHEAPSUMMARY_HPP
2727

2828
#include "memory/allocation.hpp"
29+
#include "memory/metaspaceStats.hpp"
2930
#include "memory/metaspaceChunkFreeListSummary.hpp"
3031

3132
class VirtualSpaceSummary : public StackObj {
@@ -61,21 +62,6 @@ class SpaceSummary : public StackObj {
6162
size_t size() const { return (uintptr_t)_end - (uintptr_t)_start; }
6263
};
6364

64-
class MetaspaceSizes : public StackObj {
65-
size_t _committed;
66-
size_t _used;
67-
size_t _reserved;
68-
69-
public:
70-
MetaspaceSizes() : _committed(0), _used(0), _reserved(0) {}
71-
MetaspaceSizes(size_t committed, size_t used, size_t reserved) :
72-
_committed(committed), _used(used), _reserved(reserved) {}
73-
74-
size_t committed() const { return _committed; }
75-
size_t used() const { return _used; }
76-
size_t reserved() const { return _reserved; }
77-
};
78-
7965
class GCHeapSummary;
8066
class PSHeapSummary;
8167
class G1HeapSummary;
@@ -147,39 +133,29 @@ class G1HeapSummary : public GCHeapSummary {
147133

148134
class MetaspaceSummary : public StackObj {
149135
size_t _capacity_until_GC;
150-
MetaspaceSizes _meta_space;
151-
MetaspaceSizes _data_space;
152-
MetaspaceSizes _class_space;
136+
MetaspaceCombinedStats _stats;
153137
MetaspaceChunkFreeListSummary _metaspace_chunk_free_list_summary;
154138
MetaspaceChunkFreeListSummary _class_chunk_free_list_summary;
155139

156140
public:
157141
MetaspaceSummary() :
158142
_capacity_until_GC(0),
159-
_meta_space(),
160-
_data_space(),
161-
_class_space(),
143+
_stats(),
162144
_metaspace_chunk_free_list_summary(),
163145
_class_chunk_free_list_summary()
164146
{}
165147
MetaspaceSummary(size_t capacity_until_GC,
166-
const MetaspaceSizes& meta_space,
167-
const MetaspaceSizes& data_space,
168-
const MetaspaceSizes& class_space,
148+
const MetaspaceCombinedStats& stats,
169149
const MetaspaceChunkFreeListSummary& metaspace_chunk_free_list_summary,
170150
const MetaspaceChunkFreeListSummary& class_chunk_free_list_summary) :
171151
_capacity_until_GC(capacity_until_GC),
172-
_meta_space(meta_space),
173-
_data_space(data_space),
174-
_class_space(class_space),
152+
_stats(stats),
175153
_metaspace_chunk_free_list_summary(metaspace_chunk_free_list_summary),
176154
_class_chunk_free_list_summary(class_chunk_free_list_summary)
177155
{}
178156

179157
size_t capacity_until_GC() const { return _capacity_until_GC; }
180-
const MetaspaceSizes& meta_space() const { return _meta_space; }
181-
const MetaspaceSizes& data_space() const { return _data_space; }
182-
const MetaspaceSizes& class_space() const { return _class_space; }
158+
const MetaspaceCombinedStats& stats() const { return _stats; }
183159

184160
const MetaspaceChunkFreeListSummary& metaspace_chunk_free_list_summary() const {
185161
return _metaspace_chunk_free_list_summary;

src/hotspot/share/gc/shared/gcTraceSend.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -265,13 +265,11 @@ void GCTracer::send_gc_heap_summary_event(GCWhen::Type when, const GCHeapSummary
265265
heap_summary.accept(&visitor);
266266
}
267267

268-
static JfrStructMetaspaceSizes to_struct(const MetaspaceSizes& sizes) {
268+
static JfrStructMetaspaceSizes to_struct(const MetaspaceStats& sizes) {
269269
JfrStructMetaspaceSizes meta_sizes;
270-
271270
meta_sizes.set_committed(sizes.committed());
272271
meta_sizes.set_used(sizes.used());
273272
meta_sizes.set_reserved(sizes.reserved());
274-
275273
return meta_sizes;
276274
}
277275

@@ -281,9 +279,9 @@ void GCTracer::send_meta_space_summary_event(GCWhen::Type when, const MetaspaceS
281279
e.set_gcId(GCId::current());
282280
e.set_when((u1) when);
283281
e.set_gcThreshold(meta_space_summary.capacity_until_GC());
284-
e.set_metaspace(to_struct(meta_space_summary.meta_space()));
285-
e.set_dataSpace(to_struct(meta_space_summary.data_space()));
286-
e.set_classSpace(to_struct(meta_space_summary.class_space()));
282+
e.set_metaspace(to_struct(meta_space_summary.stats())); // total stats (class + nonclass)
283+
e.set_dataSpace(to_struct(meta_space_summary.stats().non_class_space_stats())); // "dataspace" aka non-class space
284+
e.set_classSpace(to_struct(meta_space_summary.stats().class_space_stats()));
287285
e.commit();
288286
}
289287
}

src/hotspot/share/gc/shared/genCollectedHeap.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
#include "gc/shared/weakProcessor.hpp"
5858
#include "gc/shared/workgroup.hpp"
5959
#include "memory/iterator.hpp"
60-
#include "memory/metaspace/metaspaceSizesSnapshot.hpp"
6160
#include "memory/metaspaceCounters.hpp"
6261
#include "memory/metaspaceUtils.hpp"
6362
#include "memory/resourceArea.hpp"
@@ -1228,7 +1227,6 @@ void GenCollectedHeap::gc_epilogue(bool full) {
12281227
generation_iterate(&blk, false); // not old-to-young.
12291228

12301229
MetaspaceCounters::update_performance_counters();
1231-
CompressedClassSpaceCounters::update_performance_counters();
12321230
};
12331231

12341232
#ifndef PRODUCT

0 commit comments

Comments
 (0)