Print this page
rev 6868 : 8059216: Make PrintGCApplicationStoppedTime print information about stopping threads
Reviewed-by: dholmes, brutisso
Split |
Split |
Close |
Expand all |
Collapse all |
--- old/src/share/vm/services/runtimeService.hpp
+++ new/src/share/vm/services/runtimeService.hpp
1 1 /*
2 2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
3 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 4 *
5 5 * This code is free software; you can redistribute it and/or modify it
6 6 * under the terms of the GNU General Public License version 2 only, as
7 7 * published by the Free Software Foundation.
8 8 *
9 9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 12 * version 2 for more details (a copy is included in the LICENSE file that
13 13 * accompanied this code).
14 14 *
15 15 * You should have received a copy of the GNU General Public License version
16 16 * 2 along with this work; if not, write to the Free Software Foundation,
17 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 18 *
19 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 20 * or visit www.oracle.com if you need additional information or have any
21 21 * questions.
22 22 *
23 23 */
24 24
25 25 #ifndef SHARE_VM_SERVICES_RUNTIMESERVICE_HPP
26 26 #define SHARE_VM_SERVICES_RUNTIMESERVICE_HPP
27 27
28 28 #include "runtime/perfData.hpp"
29 29 #include "runtime/timer.hpp"
30 30
31 31 class RuntimeService : public AllStatic {
32 32 private:
↓ open down ↓ |
32 lines elided |
↑ open up ↑ |
33 33 static PerfCounter* _sync_time_ticks; // Accumulated time spent getting to safepoints
34 34 static PerfCounter* _total_safepoints;
35 35 static PerfCounter* _safepoint_time_ticks; // Accumulated time at safepoints
36 36 static PerfCounter* _application_time_ticks; // Accumulated time not at safepoints
37 37 static PerfCounter* _thread_interrupt_signaled_count;// os:interrupt thr_kill
38 38 static PerfCounter* _interrupted_before_count; // _INTERRUPTIBLE OS_INTRPT
39 39 static PerfCounter* _interrupted_during_count; // _INTERRUPTIBLE OS_INTRPT
40 40
41 41 static TimeStamp _safepoint_timer;
42 42 static TimeStamp _app_timer;
43 + static double _last_safepoint_sync_time_sec;
43 44
44 45 public:
45 46 static void init();
46 47
47 48 static jlong safepoint_sync_time_ms();
48 49 static jlong safepoint_count();
49 50 static jlong safepoint_time_ms();
50 51 static jlong application_time_ms();
51 52
52 53 static double last_safepoint_time_sec() { return _safepoint_timer.seconds(); }
53 54 static double last_application_time_sec() { return _app_timer.seconds(); }
54 55
55 56 // callbacks
56 57 static void record_safepoint_begin() NOT_MANAGEMENT_RETURN;
57 58 static void record_safepoint_synchronized() NOT_MANAGEMENT_RETURN;
58 59 static void record_safepoint_end() NOT_MANAGEMENT_RETURN;
59 60 static void record_application_start() NOT_MANAGEMENT_RETURN;
60 61
61 62 // interruption events
62 63 static void record_interrupted_before_count() NOT_MANAGEMENT_RETURN;
63 64 static void record_interrupted_during_count() NOT_MANAGEMENT_RETURN;
64 65 static void record_thread_interrupt_signaled_count() NOT_MANAGEMENT_RETURN;
65 66 };
66 67
67 68 #endif // SHARE_VM_SERVICES_RUNTIMESERVICE_HPP
↓ open down ↓ |
15 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX