1The following are examples of running the j_calls.d script. 2 3This traces activity from all Java processes on the system with hotspot 4provider support (1.6.0). Method calls and object allocation are only visible 5when using the flag "+ExtendedDTraceProbes". eg, 6java -XX:+ExtendedDTraceProbes classfile 7 8Here we see it running on Code/Java/Func_abc 9 10# j_calls.d 11Tracing... Hit Ctrl-C to end. 12^C 13 14 PID TYPE NAME COUNT 15 311334 cload Func_abc 1 16 311334 cload java/io/BufferedInputStream 1 17 311334 cload java/io/BufferedOutputStream 1 18 311334 cload java/io/BufferedReader 1 19 311334 cload java/io/BufferedWriter 1 20 311334 cload java/io/Closeable 1 21 311334 cload java/io/Console 1 22 311334 cload java/io/Console$1 1 23 311334 cload java/io/Console$1$1 1 24 311334 cload java/io/DataInput 1 25 311334 cload java/io/DataInputStream 1 26 311334 cload java/io/DeleteOnExitHook 1 27 311334 cload java/io/ExpiringCache 1 28 311334 cload java/io/ExpiringCache$1 1 29 311334 cload java/io/ExpiringCache$Entry 1 30 311334 cload java/io/File 1 31 311334 cload java/io/File$1 1 32 311334 cload java/io/FileDescriptor 1 33 311334 cload java/io/FileInputStream 1 34 311334 cload java/io/FileOutputStream 1 35 311334 cload java/io/FilePermission 1 36 311334 cload java/io/FilePermission$1 1 37 311334 cload java/io/FilePermissionCollection 1 38 311334 cload java/io/FileReader 1 39 311334 cload java/io/FileSystem 1 40 311334 cload java/io/FilterInputStream 1 41 311334 cload java/io/FilterOutputStream 1 42 311334 cload java/io/Flushable 1 43 311334 cload java/io/InputStream 1 44 311334 cload java/io/InputStreamReader 1 45 311334 cload java/io/ObjectStreamClass 1 46 311334 cload java/io/ObjectStreamField 1 47 311334 cload java/io/OutputStream 1 48 311334 cload java/io/OutputStreamWriter 1 49 311334 cload java/io/PrintStream 1 50 311334 cload java/io/Reader 1 51 311334 cload java/io/Serializable 1 52 311334 cload java/io/UnixFileSystem 1 53 311334 cload java/io/Writer 1 54 311334 cload java/lang/AbstractStringBuilder 1 55 311334 cload java/lang/Appendable 1 56 311334 cload java/lang/ApplicationShutdownHooks 1 57 311334 cload java/lang/ArithmeticException 1 58 311334 cload java/lang/ArrayStoreException 1 59 311334 cload java/lang/Boolean 1 60 311334 cload java/lang/Byte 1 61 311334 cload java/lang/CharSequence 1 62 311334 cload java/lang/Character 1 63 311334 cload java/lang/CharacterDataLatin1 1 64 311334 cload java/lang/Class 1 65[... 1400 lines truncated ...] 66 311334 method java/lang/Class.getClassLoader0 34 67 311334 method java/lang/String.toLowerCase 34 68 311334 method sun/security/action/GetPropertyAction.run 34 69 311334 method java/nio/CharBuffer.arrayOffset 36 70 311334 method java/util/HashMap.getEntry 36 71 311334 method java/io/File.<init> 37 72 311334 method java/io/UnixFileSystem.prefixLength 37 73 311334 oalloc java/io/File 37 74 311334 oalloc java/lang/reflect/Field 37 75 311334 method java/io/BufferedReader.readLine 38 76 311334 method java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread 38 77 311334 method java/lang/CharacterDataLatin1.toLowerCase 41 78 311334 method java/lang/CharacterDataLatin1.getProperties 43 79 311334 method java/security/AccessController.doPrivileged 43 80 311334 method java/util/Vector.size 43 81 311334 method java/nio/Buffer.position 44 82 311334 method java/nio/ByteBuffer.arrayOffset 44 83 311334 method java/lang/System.getProperty 48 84 311334 method java/util/Properties.getProperty 50 85 311334 method java/util/BitSet.expandTo 51 86 311334 method java/util/BitSet.set 51 87 311334 method java/lang/System.checkKey 56 88 311334 method java/lang/Thread.currentThread 57 89 311334 method java/util/Hashtable$Entry.<init> 57 90 311334 oalloc [Ljava/lang/String; 57 91 311334 oalloc java/util/Hashtable$Entry 57 92 311334 method java/util/Hashtable.get 59 93 311334 method java/util/Hashtable.put 63 94 311334 method java/util/BitSet.checkInvariants 71 95 311334 method java/util/BitSet.wordIndex 72 96 311334 method java/lang/StringBuilder.<init> 73 97 311334 method java/lang/StringBuilder.toString 73 98 311334 oalloc java/lang/StringBuilder 73 99 311334 method java/lang/AbstractStringBuilder.expandCapacity 81 100 311334 method java/util/HashMap.hash 81 101 311334 method java/util/HashMap.indexFor 81 102 311334 method java/lang/AbstractStringBuilder.<init> 82 103 311334 method java/lang/Character.toLowerCase 82 104 311334 method java/lang/String.startsWith 83 105 311334 method java/util/Arrays.copyOf 87 106 311334 method java/lang/String.lastIndexOf 90 107 311334 method java/lang/String.substring 94 108 311334 method java/util/Arrays.copyOfRange 107 109 311334 method java/lang/String.getChars 156 110 311334 method java/lang/System.getSecurityManager 174 111 311334 method java/lang/String.<init> 175 112 311334 method java/lang/String.equals 202 113 311334 method java/lang/Math.min 208 114 311334 method java/lang/String.hashCode 213 115 311334 method java/lang/String.indexOf 302 116 311334 oalloc [Ljava/lang/Object; 326 117 311334 method java/lang/System.arraycopy 360 118 311334 oalloc [I 374 119 311334 oalloc java/lang/Class 395 120 311334 oalloc [B 406 121 311334 oalloc [S 486 122 311334 method java/lang/StringBuilder.append 533 123 311334 oalloc [[I 541 124 311334 method java/lang/AbstractStringBuilder.append 549 125 311334 method java/lang/Object.<init> 823 126 311334 oalloc java/lang/String 931 127 311334 oalloc [C 1076 128 311334 method java/lang/String.charAt 1960 129 130This shows us each of the events associated with the PID 311334, and the 131number of times each event happened. These events can be of type cload (class 132load), method (method call), mcompile (method compile), mload (compiled method 133load), oalloc (object alloc) or thread (thread start). 134 135In this case you can see 1960 calls to java/lang/String.charAt, and 1076 136object allocations of type [C. 137 138