1The following are examples of j_events.d. 2 3This counts events from all Java processes on the system with hotspot 4provider support (1.6.0). Some events such as method calls are only visible 5when using the flag "+ExtendedDTraceProbes". eg, 6java -XX:+ExtendedDTraceProbes classfile 7 8Here you can see it running while the program Code/Java/Func_abc 9 10# j_events.d 11Tracing... Hit Ctrl-C to end. 12^C 13 14 PID EVENT COUNT 15 311379 AttachCurrentThread-entry 1 16 311379 AttachCurrentThread-return 1 17 311379 CallIntMethod-entry 1 18 311379 CallIntMethod-return 1 19 311379 CallStaticBooleanMethod-entry 1 20 311379 CallStaticBooleanMethod-return 1 21 311379 CallStaticObjectMethod-entry 1 22 311379 CallStaticObjectMethod-return 1 23 311379 CallStaticObjectMethodV-entry 1 24 311379 CallStaticObjectMethodV-return 1 25 311379 CallStaticVoidMethod-entry 1 26 311379 CallStaticVoidMethod-return 1 27 311379 CreateJavaVM-entry 1 28 311379 CreateJavaVM-return 1 29 311379 DestroyJavaVM-entry 1 30 311379 DestroyJavaVM-return 1 31 311379 DetachCurrentThread-entry 1 32 311379 DetachCurrentThread-return 1 33 311379 ExceptionCheck-entry 1 34 311379 ExceptionCheck-return 1 35 311379 ExceptionClear-entry 1 36 311379 ExceptionClear-return 1 37 311379 GetDefaultJavaVMInitArgs-entry 1 38 311379 GetDefaultJavaVMInitArgs-return 1 39 311379 GetJavaVM-entry 1 40 311379 GetJavaVM-return 1 41 311379 GetStringRegion-entry 1 42 311379 GetStringRegion-return 1 43 311379 NewByteArray-entry 1 44 311379 NewByteArray-return 1 45 311379 NewObject-entry 1 46 311379 NewObject-return 1 47 311379 NewObjectV-entry 1 48 311379 NewObjectV-return 1 49 311379 SetBooleanField-entry 1 50 311379 SetBooleanField-return 1 51 311379 ToReflectedMethod-entry 1 52 311379 ToReflectedMethod-return 1 53 311379 vm-init-begin 1 54 311379 vm-init-end 1 55 311379 vm-shutdown 1 56 311379 NewGlobalRef-entry 2 57 311379 NewGlobalRef-return 2 58 311379 monitor-wait 2 59 311379 GetStaticFieldID-entry 3 60 311379 GetStaticFieldID-return 3 61 311379 NewObjectArray-entry 3 62 311379 NewObjectArray-return 3 63 311379 SetStaticObjectField-entry 3 64 311379 SetStaticObjectField-return 3 65 311379 GetStaticMethodID-entry 4 66 311379 GetStaticMethodID-return 4 67 311379 EnsureLocalCapacity-entry 5 68 311379 EnsureLocalCapacity-return 5 69 311379 SetByteArrayRegion-entry 5 70 311379 SetByteArrayRegion-return 5 71 311379 SetLongField-entry 5 72 311379 SetLongField-return 5 73 311379 GetMethodID-entry 6 74 311379 GetMethodID-return 6 75 311379 GetObjectArrayElement-entry 6 76 311379 GetObjectArrayElement-return 6 77 311379 GetSuperclass-entry 6 78 311379 GetSuperclass-return 6 79 311379 thread-start 6 80 311379 SetIntField-entry 8 81 311379 SetIntField-return 8 82 311379 GetArrayLength-entry 9 83 311379 GetArrayLength-return 9 84 311379 GetByteArrayRegion-entry 9 85 311379 GetByteArrayRegion-return 9 86 311379 RegisterNatives-entry 9 87 311379 RegisterNatives-return 9 88 311379 GetObjectClass-entry 10 89 311379 GetObjectClass-return 10 90 311379 FindClass-entry 11 91 311379 FindClass-return 11 92 311379 SetObjectArrayElement-entry 12 93 311379 SetObjectArrayElement-return 12 94 311379 GetStringUTFLength-entry 18 95 311379 GetStringUTFLength-return 18 96 311379 GetStringUTFRegion-entry 18 97 311379 GetStringUTFRegion-return 18 98 311379 GetFieldID-entry 21 99 311379 GetFieldID-return 21 100 309790 CallStaticVoidMethod-entry 24 101 309790 CallStaticVoidMethod-return 24 102 194441 CallStaticVoidMethod-entry 26 103 194441 CallStaticVoidMethod-return 26 104 311379 GetStringUTFChars-entry 29 105 311379 GetStringUTFChars-return 29 106 311379 ReleaseStringUTFChars-entry 29 107 311379 ReleaseStringUTFChars-return 29 108 311379 CallObjectMethod-entry 30 109 311379 CallObjectMethod-return 30 110 311379 GetStringCritical-entry 35 111 311379 GetStringCritical-return 35 112 311379 ReleaseStringCritical-entry 35 113 311379 ReleaseStringCritical-return 35 114 311379 ExceptionOccurred-entry 46 115 311379 ExceptionOccurred-return 46 116 311379 GetStringLength-entry 54 117 311379 GetStringLength-return 54 118 311379 NewStringUTF-entry 54 119 311379 NewStringUTF-return 54 120 311379 NewString-entry 55 121 311379 NewString-return 55 122 311379 GetObjectField-entry 60 123 311379 GetObjectField-return 60 124 311379 DeleteLocalRef-entry 108 125 311379 DeleteLocalRef-return 108 126 311379 class-loaded 327 127 311379 object-alloc 5389 128 311379 method-return 12024 129 311379 method-entry 12031 130 131You can see that nearly all of the events recorded are from PID 311379, which 132we can assume in this case is the program in question. Not all of the lines 133correspond to this, however, which is something to be aware of while analysing 134the results. 135