102 double _external_accounted_time_ms;
103
104 double _recorded_young_cset_choice_time_ms;
105 double _recorded_non_young_cset_choice_time_ms;
106
107 double _recorded_redirty_logged_cards_time_ms;
108
109 double _recorded_young_free_cset_time_ms;
110 double _recorded_non_young_free_cset_time_ms;
111
112 double _cur_fast_reclaim_humongous_time_ms;
113 double _cur_fast_reclaim_humongous_register_time_ms;
114 size_t _cur_fast_reclaim_humongous_total;
115 size_t _cur_fast_reclaim_humongous_candidates;
116 size_t _cur_fast_reclaim_humongous_reclaimed;
117
118 double _cur_verify_before_time_ms;
119 double _cur_verify_after_time_ms;
120
121 // Helper methods for detailed logging
122 void print_stats(int level, const char* str, double value);
123 void print_stats(int level, const char* str, size_t value);
124 void print_stats(int level, const char* str, double value, uint workers);
125
126 void note_gc_end();
127
128 public:
129 G1GCPhaseTimes(uint max_gc_threads);
130 void note_gc_start(uint active_gc_threads);
131 void print(double pause_time_sec);
132
133 // record the time a phase took in seconds
134 void record_time_secs(GCParPhases phase, uint worker_i, double secs);
135
136 // add a number of seconds to a phase
137 void add_time_secs(GCParPhases phase, uint worker_i, double secs);
138
139 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
140
141 // return the average time for a phase in milliseconds
142 double average_time_ms(GCParPhases phase);
143
144 size_t sum_thread_work_items(GCParPhases phase);
|
102 double _external_accounted_time_ms;
103
104 double _recorded_young_cset_choice_time_ms;
105 double _recorded_non_young_cset_choice_time_ms;
106
107 double _recorded_redirty_logged_cards_time_ms;
108
109 double _recorded_young_free_cset_time_ms;
110 double _recorded_non_young_free_cset_time_ms;
111
112 double _cur_fast_reclaim_humongous_time_ms;
113 double _cur_fast_reclaim_humongous_register_time_ms;
114 size_t _cur_fast_reclaim_humongous_total;
115 size_t _cur_fast_reclaim_humongous_candidates;
116 size_t _cur_fast_reclaim_humongous_reclaimed;
117
118 double _cur_verify_before_time_ms;
119 double _cur_verify_after_time_ms;
120
121 // Helper methods for detailed logging
122 void print_stats(const char*, const char* str, double value);
123
124 void note_gc_end();
125
126 public:
127 G1GCPhaseTimes(uint max_gc_threads);
128 void note_gc_start(uint active_gc_threads);
129 void print(double pause_time_sec);
130
131 // record the time a phase took in seconds
132 void record_time_secs(GCParPhases phase, uint worker_i, double secs);
133
134 // add a number of seconds to a phase
135 void add_time_secs(GCParPhases phase, uint worker_i, double secs);
136
137 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
138
139 // return the average time for a phase in milliseconds
140 double average_time_ms(GCParPhases phase);
141
142 size_t sum_thread_work_items(GCParPhases phase);
|