提交 940c71e7 编写于 作者: D dbuck

Merge

...@@ -46,6 +46,7 @@ PerfCounter* RuntimeService::_application_time_ticks = NULL; ...@@ -46,6 +46,7 @@ PerfCounter* RuntimeService::_application_time_ticks = NULL;
PerfCounter* RuntimeService::_thread_interrupt_signaled_count = NULL; PerfCounter* RuntimeService::_thread_interrupt_signaled_count = NULL;
PerfCounter* RuntimeService::_interrupted_before_count = NULL; PerfCounter* RuntimeService::_interrupted_before_count = NULL;
PerfCounter* RuntimeService::_interrupted_during_count = NULL; PerfCounter* RuntimeService::_interrupted_during_count = NULL;
double RuntimeService::_last_safepoint_sync_time_sec = 0.0;
void RuntimeService::init() { void RuntimeService::init() {
// Make sure the VM version is initialized // Make sure the VM version is initialized
...@@ -128,6 +129,7 @@ void RuntimeService::record_safepoint_begin() { ...@@ -128,6 +129,7 @@ void RuntimeService::record_safepoint_begin() {
// update the time stamp to begin recording safepoint time // update the time stamp to begin recording safepoint time
_safepoint_timer.update(); _safepoint_timer.update();
_last_safepoint_sync_time_sec = 0.0;
if (UsePerfData) { if (UsePerfData) {
_total_safepoints->inc(); _total_safepoints->inc();
if (_app_timer.is_updated()) { if (_app_timer.is_updated()) {
...@@ -140,6 +142,9 @@ void RuntimeService::record_safepoint_synchronized() { ...@@ -140,6 +142,9 @@ void RuntimeService::record_safepoint_synchronized() {
if (UsePerfData) { if (UsePerfData) {
_sync_time_ticks->inc(_safepoint_timer.ticks_since_update()); _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() { void RuntimeService::record_safepoint_end() {
...@@ -155,8 +160,10 @@ void RuntimeService::record_safepoint_end() { ...@@ -155,8 +160,10 @@ void RuntimeService::record_safepoint_end() {
gclog_or_tty->date_stamp(PrintGCDateStamps); gclog_or_tty->date_stamp(PrintGCDateStamps);
gclog_or_tty->stamp(PrintGCTimeStamps); gclog_or_tty->stamp(PrintGCTimeStamps);
gclog_or_tty->print_cr("Total time for which application threads " gclog_or_tty->print_cr("Total time for which application threads "
"were stopped: %3.7f seconds", "were stopped: %3.7f seconds, "
last_safepoint_time_sec()); "Stopping threads took: %3.7f seconds",
last_safepoint_time_sec(),
_last_safepoint_sync_time_sec);
} }
// update the time stamp to begin recording app time // update the time stamp to begin recording app time
......
...@@ -40,6 +40,7 @@ private: ...@@ -40,6 +40,7 @@ private:
static TimeStamp _safepoint_timer; static TimeStamp _safepoint_timer;
static TimeStamp _app_timer; static TimeStamp _app_timer;
static double _last_safepoint_sync_time_sec;
public: public:
static void init(); static void init();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册