248 lines
14 KiB
Plaintext
248 lines
14 KiB
Plaintext
This is an example of j_calldist.d showing the elapsed times for different
|
|
types of Java operations.
|
|
|
|
This traces activity from all Java processes on the system with hotspot
|
|
provider support (1.6.0), and produces the output in graphical format, showing
|
|
a histogram of the amount of time taken by each call. Method calls are only
|
|
visible when using the flag "+ExtendedDTraceProbes". eg,
|
|
java -XX:+ExtendedDTraceProbes classfile
|
|
|
|
Because of the extensive results returned otherwise, this script will show you
|
|
a configurable number of results in each section. The default (as in this
|
|
example) is ten.
|
|
|
|
Here we see it tracing the activity of Code/Java/Func_abc.
|
|
|
|
# j_calldist.d
|
|
Tracing... Hit Ctrl-C to end.
|
|
^C
|
|
|
|
Top 10 elapsed times (us),
|
|
|
|
Top 10 exclusive method elapsed times (us),
|
|
PID=311342, method, sun/net/www/ParseUtil.decode
|
|
value ------------- Distribution ------------- count
|
|
128 | 0
|
|
256 |@@@@@@@@@@@@@ 3
|
|
512 | 0
|
|
1024 |@@@@@@@@@@@@@@@@@@@@@@ 5
|
|
2048 |@@@@ 1
|
|
4096 | 0
|
|
|
|
PID=311342, method, java/net/URLClassLoader.<clinit>
|
|
value ------------- Distribution ------------- count
|
|
4096 | 0
|
|
8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
|
|
16384 | 0
|
|
|
|
PID=311342, method, java/util/jar/JarFile.hasClassPathAttribute
|
|
value ------------- Distribution ------------- count
|
|
4096 | 0
|
|
8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
|
|
16384 | 0
|
|
|
|
PID=311342, method, java/util/zip/ZipFile.read
|
|
value ------------- Distribution ------------- count
|
|
4096 | 0
|
|
8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
|
|
16384 | 0
|
|
|
|
PID=311342, method, sun/nio/cs/US_ASCII.newEncoder
|
|
value ------------- Distribution ------------- count
|
|
4 | 0
|
|
8 |@@@@@@@@@@@@@@@@@@@@ 1
|
|
16 | 0
|
|
32 | 0
|
|
64 | 0
|
|
128 | 0
|
|
256 | 0
|
|
512 | 0
|
|
1024 | 0
|
|
2048 | 0
|
|
4096 | 0
|
|
8192 |@@@@@@@@@@@@@@@@@@@@ 1
|
|
16384 | 0
|
|
|
|
PID=311342, method, java/util/zip/ZipFile.getInputStream
|
|
value ------------- Distribution ------------- count
|
|
8 | 0
|
|
16 |@@@@@@@@@@@@@@@@@@@@ 1
|
|
32 | 0
|
|
64 | 0
|
|
128 | 0
|
|
256 | 0
|
|
512 | 0
|
|
1024 | 0
|
|
2048 | 0
|
|
4096 | 0
|
|
8192 |@@@@@@@@@@@@@@@@@@@@ 1
|
|
16384 | 0
|
|
|
|
PID=311342, method, sun/nio/cs/US_ASCII.newDecoder
|
|
value ------------- Distribution ------------- count
|
|
4 | 0
|
|
8 |@@@@@@@@@@ 1
|
|
16 |@@@@@@@@@@@@@@@@@@@@ 2
|
|
32 | 0
|
|
64 | 0
|
|
128 | 0
|
|
256 | 0
|
|
512 | 0
|
|
1024 | 0
|
|
2048 | 0
|
|
4096 | 0
|
|
8192 |@@@@@@@@@@ 1
|
|
16384 | 0
|
|
|
|
PID=311342, method, java/util/HashMap.<init>
|
|
value ------------- Distribution ------------- count
|
|
4 | 0
|
|
8 |@@@@@@@@@@@@@@ 8
|
|
16 |@@@@@@@@@@@@@@@@ 9
|
|
32 |@@@@@@@@@ 5
|
|
64 | 0
|
|
128 | 0
|
|
256 | 0
|
|
512 | 0
|
|
1024 | 0
|
|
2048 | 0
|
|
4096 | 0
|
|
8192 |@@ 1
|
|
16384 | 0
|
|
|
|
PID=311342, method, java/io/UnixFileSystem.normalize
|
|
value ------------- Distribution ------------- count
|
|
4 | 0
|
|
8 |@ 1
|
|
16 | 0
|
|
32 | 0
|
|
64 |@@@@@@@@@ 8
|
|
128 |@@@@@@@@@@@@@ 11
|
|
256 |@@@@@@ 5
|
|
512 |@@@@@@@@@ 8
|
|
1024 | 0
|
|
2048 | 0
|
|
4096 |@ 1
|
|
8192 | 0
|
|
|
|
PID=311342, method, java/lang/Thread.sleep
|
|
value ------------- Distribution ------------- count
|
|
262144 | 0
|
|
524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3
|
|
1048576 | 0
|
|
|
|
|
|
Top 10 inclusive method elapsed times (us),
|
|
PID=311342, method, java/net/URLClassLoader$1.run
|
|
value ------------- Distribution ------------- count
|
|
8192 | 0
|
|
16384 |@@@@@@@@@@@@@@@@@@@@ 1
|
|
32768 | 0
|
|
65536 |@@@@@@@@@@@@@@@@@@@@ 1
|
|
131072 | 0
|
|
|
|
PID=311342, method, java/net/URLClassLoader.findClass
|
|
value ------------- Distribution ------------- count
|
|
8192 | 0
|
|
16384 |@@@@@@@@@@@@@@@@@@@@ 1
|
|
32768 | 0
|
|
65536 |@@@@@@@@@@@@@@@@@@@@ 1
|
|
131072 | 0
|
|
|
|
PID=311342, method, sun/misc/URLClassPath.getLoader
|
|
value ------------- Distribution ------------- count
|
|
8 | 0
|
|
16 |@@@ 1
|
|
32 | 0
|
|
64 | 0
|
|
128 | 0
|
|
256 | 0
|
|
512 | 0
|
|
1024 | 0
|
|
2048 |@@@@@@ 2
|
|
4096 |@@@@@@@@@@@@@@@@@@@@@@@@@ 8
|
|
8192 | 0
|
|
16384 |@@@ 1
|
|
32768 | 0
|
|
65536 |@@@ 1
|
|
131072 | 0
|
|
|
|
PID=311342, method, java/lang/ClassLoader.loadClass
|
|
value ------------- Distribution ------------- count
|
|
64 | 0
|
|
128 |@@@@@@@@@ 6
|
|
256 |@@@@@@@@@@@@@@@@@@@@@@ 15
|
|
512 |@@@@ 3
|
|
1024 | 0
|
|
2048 | 0
|
|
4096 | 0
|
|
8192 | 0
|
|
16384 | 0
|
|
32768 | 0
|
|
65536 |@@@@ 3
|
|
131072 | 0
|
|
|
|
PID=311342, method, java/security/AccessController.doPrivileged
|
|
value ------------- Distribution ------------- count
|
|
8 | 0
|
|
16 |@@ 2
|
|
32 |@ 1
|
|
64 |@@@@ 4
|
|
128 |@@@@@@@@@@@@@@@@ 17
|
|
256 |@ 1
|
|
512 |@@@@ 4
|
|
1024 |@@ 2
|
|
2048 |@ 1
|
|
4096 |@@@@@@ 6
|
|
8192 |@ 1
|
|
16384 |@@ 2
|
|
32768 | 0
|
|
65536 |@@ 2
|
|
131072 | 0
|
|
|
|
PID=311342, method, Func_abc.func_c
|
|
value ------------- Distribution ------------- count
|
|
262144 | 0
|
|
524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
|
|
1048576 | 0
|
|
|
|
PID=311342, method, Func_abc.func_b
|
|
value ------------- Distribution ------------- count
|
|
524288 | 0
|
|
1048576 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
|
|
2097152 | 0
|
|
|
|
PID=311342, method, java/lang/Thread.sleep
|
|
value ------------- Distribution ------------- count
|
|
262144 | 0
|
|
524288 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3
|
|
1048576 | 0
|
|
|
|
PID=311342, method, Func_abc.func_a
|
|
value ------------- Distribution ------------- count
|
|
1048576 | 0
|
|
2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
|
|
4194304 | 0
|
|
|
|
PID=311342, method, Func_abc.main
|
|
value ------------- Distribution ------------- count
|
|
1048576 | 0
|
|
2097152 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1
|
|
4194304 | 0
|
|
|
|
The elapsed times section is empty. It would show us anything that is not a
|
|
Java method - garbage collection for example. However there was nothing of
|
|
the kind in this example.
|
|
|
|
The exclusive method elapsed times show us the time spent in the top ten most
|
|
time consuming methods, not including time spent in subroutines called by
|
|
those methods.
|
|
|
|
The inclusive method elapsed times show us the time spent in the top ten most
|
|
time consuming methods including time spent in subroutines called by those
|
|
methods.
|
|
|
|
It is important to pay close attention to the third column, "count" as this
|
|
will indicate if there were any instances in a particular timeframe, even if
|
|
the number is too small to show up on the histogram clearly.
|