1 /*
2 * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
102 _to_space_counters(NULL),
103
104 _overall_committed(0),
105 _overall_used(0),
106 _young_gen_committed(0),
107 _old_gen_committed(0),
108
109 _eden_space_committed(0),
110 _eden_space_used(0),
111 _survivor_space_committed(0),
112 _survivor_space_used(0),
113 _old_gen_used(0) {
114
115 recalculate_sizes();
116
117 // Counters for garbage collections
118 //
119 // name "collector.0". In a generational collector this would be the
120 // young generation collection.
121 _incremental_collection_counters =
122 new CollectorCounters("G1 incremental collections", 0);
123 // name "collector.1". In a generational collector this would be the
124 // old generation collection.
125 _full_collection_counters =
126 new CollectorCounters("G1 stop-the-world full collections", 1);
127 // name "collector.2". In a generational collector this would be the
128 // STW phases in concurrent collection.
129 _conc_collection_counters =
130 new CollectorCounters("G1 stop-the-world phases", 2);
131
132 // "Generation" and "Space" counters.
133 //
134 // name "generation.1" This is logically the old generation in
135 // generational GC terms. The "1, 1" parameters are for
136 // the n-th generation (=1) with 1 space.
137 // Counters are created from minCapacity, maxCapacity, and capacity
138 _old_gen_counters = new G1OldGenerationCounters(this, "old", _g1h->max_capacity());
139
140 // name "generation.1.space.0"
141 // Counters are created from maxCapacity, capacity, initCapacity,
142 // and used.
143 _old_space_counters = new HSpaceCounters(_old_gen_counters->name_space(),
144 "space", 0 /* ordinal */,
145 pad_capacity(g1h->max_capacity()) /* max_capacity */,
146 pad_capacity(_old_gen_committed) /* init_capacity */);
147
148 // Young collection set
149 // name "generation.0". This is logically the young generation.
150 // The "0, 3" are parameters for the n-th generation (=0) with 3 spaces.
|
1 /*
2 * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
102 _to_space_counters(NULL),
103
104 _overall_committed(0),
105 _overall_used(0),
106 _young_gen_committed(0),
107 _old_gen_committed(0),
108
109 _eden_space_committed(0),
110 _eden_space_used(0),
111 _survivor_space_committed(0),
112 _survivor_space_used(0),
113 _old_gen_used(0) {
114
115 recalculate_sizes();
116
117 // Counters for garbage collections
118 //
119 // name "collector.0". In a generational collector this would be the
120 // young generation collection.
121 _incremental_collection_counters =
122 new CollectorCounters("G1 incremental collection pauses", 0);
123 // name "collector.1". In a generational collector this would be the
124 // old generation collection.
125 _full_collection_counters =
126 new CollectorCounters("G1 full collection pauses", 1);
127 // name "collector.2". In a generational collector this would be the
128 // STW phases in concurrent collection.
129 _conc_collection_counters =
130 new CollectorCounters("G1 concurrent cycle pauses", 2);
131
132 // "Generation" and "Space" counters.
133 //
134 // name "generation.1" This is logically the old generation in
135 // generational GC terms. The "1, 1" parameters are for
136 // the n-th generation (=1) with 1 space.
137 // Counters are created from minCapacity, maxCapacity, and capacity
138 _old_gen_counters = new G1OldGenerationCounters(this, "old", _g1h->max_capacity());
139
140 // name "generation.1.space.0"
141 // Counters are created from maxCapacity, capacity, initCapacity,
142 // and used.
143 _old_space_counters = new HSpaceCounters(_old_gen_counters->name_space(),
144 "space", 0 /* ordinal */,
145 pad_capacity(g1h->max_capacity()) /* max_capacity */,
146 pad_capacity(_old_gen_committed) /* init_capacity */);
147
148 // Young collection set
149 // name "generation.0". This is logically the young generation.
150 // The "0, 3" are parameters for the n-th generation (=0) with 3 spaces.
|