8059216: Make PrintGCApplicationStoppedTime print information about stopping threads
Reviewed-by: dholmes, brutisso
This commit is contained in:
parent
4c036f5730
commit
24c29c4db4
hotspot/src/share/vm/services
@ -38,6 +38,7 @@ PerfCounter* RuntimeService::_sync_time_ticks = NULL;
|
||||
PerfCounter* RuntimeService::_total_safepoints = NULL;
|
||||
PerfCounter* RuntimeService::_safepoint_time_ticks = NULL;
|
||||
PerfCounter* RuntimeService::_application_time_ticks = NULL;
|
||||
double RuntimeService::_last_safepoint_sync_time_sec = 0.0;
|
||||
|
||||
void RuntimeService::init() {
|
||||
// Make sure the VM version is initialized
|
||||
@ -96,6 +97,7 @@ void RuntimeService::record_safepoint_begin() {
|
||||
|
||||
// update the time stamp to begin recording safepoint time
|
||||
_safepoint_timer.update();
|
||||
_last_safepoint_sync_time_sec = 0.0;
|
||||
if (UsePerfData) {
|
||||
_total_safepoints->inc();
|
||||
if (_app_timer.is_updated()) {
|
||||
@ -108,6 +110,9 @@ void RuntimeService::record_safepoint_synchronized() {
|
||||
if (UsePerfData) {
|
||||
_sync_time_ticks->inc(_safepoint_timer.ticks_since_update());
|
||||
}
|
||||
if (PrintGCApplicationStoppedTime) {
|
||||
_last_safepoint_sync_time_sec = last_safepoint_time_sec();
|
||||
}
|
||||
}
|
||||
|
||||
void RuntimeService::record_safepoint_end() {
|
||||
@ -119,8 +124,10 @@ void RuntimeService::record_safepoint_end() {
|
||||
gclog_or_tty->date_stamp(PrintGCDateStamps);
|
||||
gclog_or_tty->stamp(PrintGCTimeStamps);
|
||||
gclog_or_tty->print_cr("Total time for which application threads "
|
||||
"were stopped: %3.7f seconds",
|
||||
last_safepoint_time_sec());
|
||||
"were stopped: %3.7f seconds, "
|
||||
"Stopping threads took: %3.7f seconds",
|
||||
last_safepoint_time_sec(),
|
||||
_last_safepoint_sync_time_sec);
|
||||
}
|
||||
|
||||
// update the time stamp to begin recording app time
|
||||
|
@ -37,6 +37,7 @@ private:
|
||||
|
||||
static TimeStamp _safepoint_timer;
|
||||
static TimeStamp _app_timer;
|
||||
static double _last_safepoint_sync_time_sec;
|
||||
|
||||
public:
|
||||
static void init();
|
||||
|
Loading…
x
Reference in New Issue
Block a user