The following are examples of j_flowtime.d. This is a simple script to trace the timing and the not-so-simple flow of Java methods and classes. Here it traces the example program, Code/Java/func_abc # j_flowtime.d C PID/TID TIME(us) DELTA(us) -- CLASS.METHOD 0 311481/2 4790256870903 2 -> java/lang/Object.<clinit> 0 311481/2 4790256870950 46 -> java/lang/Object.registerNatives 0 311481/2 4790256871090 140 <- java/lang/Object.registerNatives 0 311481/2 4790256871109 18 <- java/lang/Object.0 311481/2 4790256871518 397 -> java/lang/String$CaseInsensitiveComparator.<init> 0 311481/2 4790256871531 12 -> java/lang/String$CaseInsensitiveComparator.<init> 0 311481/2 4790256871541 10 -> java/lang/Object.<init> 0 311481/2 4790256871549 7 <- java/lang/Object. 0 311481/2 4790256871656 11 -> java/lang/System.registerNatives 0 311481/2 4790256871675 18 <- java/lang/System.registerNatives 0 311481/2 4790256871686 10 -> java/lang/System.nullInputStream 0 311481/2 4790256871695 9 -> java/lang/System.currentTimeMillis 0 311481/2 4790256871705 10 <- java/lang/System.currentTimeMillis 0 311481/2 4790256871714 8 <- java/lang/System.nullInputStream 0 311481/2 4790256871726 11 -> java/lang/System.nullPrintStream 0 311481/2 4790256871734 7 -> java/lang/System.currentTimeMillis 0 311481/2 4790256871741 7 <- java/lang/System.currentTimeMillis 0 311481/2 4790256871749 7 <- java/lang/System.nullPrintStream 0 311481/2 4790256871758 9 -> java/lang/System.nullPrintStream 0 311481/2 4790256871766 7 -> java/lang/System.currentTimeMillis 0 311481/2 4790256871773 7 <- java/lang/System.currentTimeMillis 0 311481/2 4790256871781 7 <- java/lang/System.nullPrintStream 0 311481/2 4790256871792 10 <- java/lang/System. 0 311481/2 4790256871881 10 -> java/lang/Object.<init> 0 311481/2 4790256871889 7 <- java/lang/Object. 0 311481/2 4790256871926 7 -> java/lang/Object.<init> 0 311481/2 4790256871933 7 <- java/lang/Object. 0 311481/2 4790256872213 12 -> java/lang/Thread.registerNatives 0 311481/2 4790256872239 25 <- java/lang/Thread.registerNatives 0 311481/2 4790256872606 367 -> java/lang/RuntimePermission.<init> 0 311481/2 4790256872618 11 -> java/security/BasicPermission.<init> 0 311481/2 4790256872628 9 -> java/security/Permission.<init> 0 311481/2 4790256872637 9 -> java/lang/Object.<init> 0 311481/2 4790256872645 7 <- java/lang/Object. 0 311481/2 4790256873208 12 -> java/util/AbstractMap.<init> 0 311481/2 4790256873218 9 -> java/lang/Object.<init> 0 311481/2 4790256873226 7 <- java/lang/Object. 0 311481/2 4790256873443 72 -> java/lang/ref/ReferenceQueue$Null.<init> 0 311481/2 4790256873454 10 -> java/lang/ref/ReferenceQueue$Null.<init> 0 311481/2 4790256873464 9 -> java/lang/ref/ReferenceQueue.<init> 0 311481/2 4790256873474 9 -> java/lang/Object.<init> 0 311481/2 4790256873481 7 <- java/lang/Object. 0 311481/2 4790256873553 10 -> java/lang/ref/ReferenceQueue$Lock.<init> 0 311481/2 4790256873562 9 -> java/lang/Object.<init> 0 311481/2 4790256873570 7 <- java/lang/Object. 0 311481/2 4790256873629 7 -> java/lang/ref/ReferenceQueue$Null.<init> 0 311481/2 4790256873636 7 -> java/lang/ref/ReferenceQueue.<init> 0 311481/2 4790256873644 7 -> java/lang/Object.<init> 0 311481/2 4790256873651 6 <- java/lang/Object. [... 22800 lines truncated ...] 0 311481/2 4790257387424 7 <- java/util/HashMap.indexFor 0 311481/2 4790257387432 8 <- java/util/HashMap.put 0 311481/2 4790257387440 7 <- java/util/HashSet.add 0 311481/2 4790257387447 7 <- java/lang/ClassLoader.checkPackageAccess 0 311481/2 4790257387473 26 -> java/lang/reflect/Method.getModifiers 0 311481/2 4790257387486 12 <- java/lang/reflect/Method.getModifiers 0 311481/2 4790257387500 14 -> Func_abc.main 0 311481/2 4790257387512 11 -> Func_abc.func_a 0 311481/2 4790257387522 9 -> java/lang/ClassLoader.checkPackageAccess 0 311481/2 4790257387530 7 -> java/lang/System.getSecurityManager 0 311481/2 4790257387537 7 <- java/lang/System.getSecurityManager 0 311481/2 4790257387545 8 -> java/util/HashSet.add 0 311481/2 4790257387552 7 -> java/util/HashMap.put 0 311481/2 4790257387559 7 -> java/lang/Object.hashCode 0 311481/2 4790257387567 7 <- java/lang/Object.hashCode 0 311481/2 4790257387574 7 -> java/util/HashMap.hash 0 311481/2 4790257387581 7 <- java/util/HashMap.hash 0 311481/2 4790257387589 7 -> java/util/HashMap.indexFor 0 311481/2 4790257387596 7 <- java/util/HashMap.indexFor 0 311481/2 4790257387604 8 <- java/util/HashMap.put 0 311481/2 4790257387611 7 <- java/util/HashSet.add 0 311481/2 4790257387619 7 <- java/lang/ClassLoader.checkPackageAccess 0 311481/2 4790257387683 64 -> java/lang/ClassLoader.loadClassInternal 0 311481/2 4790257387691 8 -> java/lang/ClassLoader.loadClass 0 311481/2 4790257387699 7 -> sun/misc/Launcher$AppClassLoader.loadClass 0 311481/2 4790257387706 7 -> java/lang/String.lastIndexOf 0 311481/2 4790257387713 7 -> java/lang/String.lastIndexOf 0 311481/2 4790257387722 8 <- java/lang/String.lastIndexOf 0 311481/2 4790257387729 7 <- java/lang/String.lastIndexOf 0 311481/2 4790257387737 7 -> java/lang/System.getSecurityManager 0 311481/2 4790257387760 22 <- java/lang/System.getSecurityManager 0 311481/2 4790257387768 7 -> java/lang/ClassLoader.loadClass 0 311481/2 4790257387775 7 -> java/lang/ClassLoader.findLoadedClass 0 311481/2 4790257387782 7 -> java/lang/ClassLoader.check 0 311481/2 4790257387789 7 <- java/lang/ClassLoader.check 0 311481/2 4790257387797 7 -> java/lang/ClassLoader.checkName 0 311481/2 4790257387805 7 -> java/lang/String.indexOf 0 311481/2 4790257387812 7 -> java/lang/String.indexOf 0 311481/2 4790257387820 8 <- java/lang/String.indexOf 0 311481/2 4790257387828 7 <- java/lang/String.indexOf 0 311481/2 4790257387835 7 -> sun/misc/VM.allowArraySyntax 0 311481/2 4790257387843 7 <- sun/misc/VM.allowArraySyntax 0 311481/2 4790257387850 7 -> java/lang/String.charAt 0 311481/2 4790257387857 7 <- java/lang/String.charAt 0 311481/2 4790257387865 7 <- java/lang/ClassLoader.checkName 0 311481/2 4790257387873 7 -> java/lang/ClassLoader.findLoadedClass0 0 311481/2 4790257387883 9 <- java/lang/ClassLoader.findLoadedClass0 0 311481/2 4790257387890 7 <- java/lang/ClassLoader.findLoadedClass 0 311481/2 4790257387899 8 -> java/lang/ClassLoader.loadClass 0 311481/2 4790257387906 7 -> java/lang/ClassLoader.findLoadedClass 0 311481/2 4790257387913 7 -> java/lang/ClassLoader.check 0 311481/2 4790257387920 7 <- java/lang/ClassLoader.check 0 311481/2 4790257387928 7 -> java/lang/ClassLoader.checkName 0 311481/2 4790257387935 7 -> java/lang/String.indexOf 0 311481/2 4790257387942 7 -> java/lang/String.indexOf 0 311481/2 4790257387951 8 <- java/lang/String.indexOf 0 311481/2 4790257387958 7 <- java/lang/String.indexOf 0 311481/2 4790257387966 7 -> sun/misc/VM.allowArraySyntax 0 311481/2 4790257387973 7 <- sun/misc/VM.allowArraySyntax 0 311481/2 4790257387981 7 -> java/lang/String.charAt 0 311481/2 4790257387988 7 <- java/lang/String.charAt 0 311481/2 4790257387995 7 <- java/lang/ClassLoader.checkName 0 311481/2 4790257388003 7 -> java/lang/ClassLoader.findLoadedClass0 0 311481/2 4790257388012 8 <- java/lang/ClassLoader.findLoadedClass0 0 311481/2 4790257388020 7 <- java/lang/ClassLoader.findLoadedClass 0 311481/2 4790257388028 7 -> java/lang/ClassLoader.findBootstrapClass0 0 311481/2 4790257388035 7 -> java/lang/ClassLoader.check 0 311481/2 4790257388042 7 <- java/lang/ClassLoader.check 0 311481/2 4790257388050 7 -> java/lang/ClassLoader.checkName 0 311481/2 4790257388057 7 -> java/lang/String.indexOf 0 311481/2 4790257388064 7 -> java/lang/String.indexOf 0 311481/2 4790257388072 8 <- java/lang/String.indexOf 0 311481/2 4790257388080 7 <- java/lang/String.indexOf 0 311481/2 4790257388087 7 -> sun/misc/VM.allowArraySyntax 0 311481/2 4790257388094 7 <- sun/misc/VM.allowArraySyntax 0 311481/2 4790257388102 7 -> java/lang/String.charAt 0 311481/2 4790257388109 7 <- java/lang/String.charAt 0 311481/2 4790257388117 7 <- java/lang/ClassLoader.checkName 0 311481/2 4790257388124 7 -> java/lang/ClassLoader.findBootstrapClass 0 311481/2 4790257388134 9 <- java/lang/ClassLoader.findBootstrapClass 0 311481/2 4790257388142 8 <- java/lang/ClassLoader.findBootstrapClass0 0 311481/2 4790257388150 8 <- java/lang/ClassLoader.loadClass 0 311481/2 4790257388158 7 <- java/lang/ClassLoader.loadClass 0 311481/2 4790257388166 7 <- sun/misc/Launcher$AppClassLoader.loadClass 0 311481/2 4790257388173 7 <- java/lang/ClassLoader.loadClass 0 311481/2 4790257388181 7 <- java/lang/ClassLoader.loadClassInternal 0 311481/2 4790257388193 11 -> java/lang/ClassLoader.checkPackageAccess 0 311481/2 4790257388200 7 -> java/lang/System.getSecurityManager 0 311481/2 4790257388207 7 <- java/lang/System.getSecurityManager 0 311481/2 4790257388215 7 -> java/util/HashSet.add 0 311481/2 4790257388223 7 -> java/util/HashMap.put 0 311481/2 4790257388230 7 -> java/lang/Object.hashCode 0 311481/2 4790257388237 7 <- java/lang/Object.hashCode 0 311481/2 4790257388245 7 -> java/util/HashMap.hash 0 311481/2 4790257388252 7 <- java/util/HashMap.hash 0 311481/2 4790257388260 7 -> java/util/HashMap.indexFor 0 311481/2 4790257388267 7 <- java/util/HashMap.indexFor 0 311481/2 4790257388275 7 <- java/util/HashMap.put 0 311481/2 4790257388282 7 <- java/util/HashSet.add 0 311481/2 4790257388290 7 <- java/lang/ClassLoader.checkPackageAccess 0 311481/2 4790257388305 15 -> java/io/PrintStream.println 0 311481/2 4790257388316 11 -> java/io/PrintStream.print 0 311481/2 4790257388326 9 -> java/io/PrintStream.write 0 311481/2 4790257388335 9 -> java/io/PrintStream.ensureOpen 0 311481/2 4790257388345 10 <- java/io/PrintStream.ensureOpen 0 311481/2 4790257388358 12 -> java/io/Writer.write 0 311481/2 4790257388371 13 -> java/io/BufferedWriter.write 0 311481/2 4790257388382 10 -> java/io/BufferedWriter.ensureOpen 0 311481/2 4790257388389 7 <- java/io/BufferedWriter.ensureOpen 0 311481/2 4790257388399 10 -> java/io/BufferedWriter.min 0 311481/2 4790257388407 7 <- java/io/BufferedWriter.min 0 311481/2 4790257388417 10 -> java/lang/String.getChars 0 311481/2 4790257388425 8 -> java/lang/System.arraycopy 0 311481/2 4790257388434 8 <- java/lang/System.arraycopy 0 311481/2 4790257388442 7 <- java/lang/String.getChars 0 311481/2 4790257388450 8 <- java/io/BufferedWriter.write 0 311481/2 4790257388457 7 <- java/io/Writer.write 0 311481/2 4790257388467 10 -> java/io/BufferedWriter.flushBuffer 0 311481/2 4790257388475 7 -> java/io/BufferedWriter.ensureOpen 0 311481/2 4790257388482 7 <- java/io/BufferedWriter.ensureOpen 0 311481/2 4790257388493 10 -> java/io/OutputStreamWriter.write 0 311481/2 4790257388504 11 -> sun/nio/cs/StreamEncoder.write 0 311481/2 4790257388515 10 -> sun/nio/cs/StreamEncoder.ensureOpen 0 311481/2 4790257388522 7 <- sun/nio/cs/StreamEncoder.ensureOpen 0 311481/2 4790257388533 10 -> sun/nio/cs/StreamEncoder.implWrite 0 311481/2 4790257388544 11 -> java/nio/CharBuffer.wrap 0 311481/2 4790257388552 8 -> java/nio/HeapCharBuffer.<init> 0 311481/2 4790257388560 7 -> java/nio/CharBuffer.<init> 0 311481/2 4790257388567 7 -> java/nio/Buffer.<init> 0 311481/2 4790257388574 7 -> java/lang/Object.<init> 0 311481/2 4790257388582 7 <- java/lang/Object. 0 311481/2 4790257389872 7 -> java/nio/CharBuffer.<init> 0 311481/2 4790257389879 7 -> java/nio/Buffer.<init> 0 311481/2 4790257389886 6 -> java/lang/Object.<init> 0 311481/2 4790257389893 7 <- java/lang/Object. 0 311481/2 4790258400544 7 -> java/nio/CharBuffer.<init> 0 311481/2 4790258400551 7 -> java/nio/Buffer.<init> 0 311481/2 4790258400559 7 -> java/lang/Object.<init> 0 311481/2 4790258400566 7 <- java/lang/Object. 0 311481/2 4790258401497 7 -> java/nio/CharBuffer.<init> 0 311481/2 4790258401504 7 -> java/nio/Buffer.<init> 0 311481/2 4790258401511 7 -> java/lang/Object.<init> 0 311481/2 4790258401518 7 <- java/lang/Object. 0 311481/2 4790259410618 7 -> java/nio/CharBuffer.<init> 0 311481/2 4790259410625 7 -> java/nio/Buffer.<init> 0 311481/2 4790259410633 7 -> java/lang/Object.<init> 0 311481/2 4790259410640 7 <- java/lang/Object. 0 311481/2 4790259411572 7 -> java/nio/CharBuffer.<init> 0 311481/2 4790259411579 7 -> java/nio/Buffer.<init> 0 311481/2 4790259411586 6 -> java/lang/Object.<init> 0 311481/2 4790259411594 7 <- java/lang/Object. 0 311481/2 4790260420447 8 -> java/lang/Object.<init> 0 311481/2 4790260420454 7 <- java/lang/Object. 0 311481/2 4790260420471 7 <- java/lang/Object. 0 311481/2 4790260421156 12 -> java/util/AbstractList$Itr.<init> 0 311481/2 4790260421168 11 -> java/lang/Object.<init> 0 311481/2 4790260421175 7 <- java/lang/Object. 0 311481/2 4790260421610 11 -> java/util/IdentityHashMap$KeySet.<init> 0 311481/2 4790260421622 11 -> java/util/AbstractSet.<init> 0 311481/2 4790260421629 7 -> java/util/AbstractCollection.<init> 0 311481/2 4790260421637 7 -> java/lang/Object.<init> 0 311481/2 4790260421644 7 <- java/lang/Object. 0 311481/2 4790260421894 11 -> java/util/IdentityHashMap$KeyIterator.<init> 0 311481/2 4790260421905 11 -> java/util/IdentityHashMap$IdentityHashMapIterator.<init> 0 311481/2 4790260421915 10 -> java/util/IdentityHashMap$IdentityHashMapIterator.<init> 0 311481/2 4790260421926 10 -> java/lang/Object.<init> 0 311481/2 4790260421934 7 <- java/lang/Object. 0 311481/2 4790260422060 7 -> java/util/IdentityHashMap$KeyIterator.<init> 0 311481/2 4790260422068 7 -> java/util/IdentityHashMap$IdentityHashMapIterator.<init> 0 311481/2 4790260422075 7 -> java/util/IdentityHashMap$IdentityHashMapIterator.<init> 0 311481/2 4790260422083 7 -> java/lang/Object.<init> 0 311481/2 4790260422090 7 <- java/lang/Object. 0 311481/2 4790260422461 143 -> java/util/LinkedHashSet.<init> 0 311481/2 4790260422473 12 -> java/util/HashSet.<init> 0 311481/2 4790260422481 7 -> java/util/AbstractSet.<init> 0 311481/2 4790260422488 7 -> java/util/AbstractCollection.<init> 0 311481/2 4790260422495 7 -> java/lang/Object.<init> 0 311481/2 4790260422502 7 <- java/lang/Object. 0 311481/2 4790260422541 10 -> java/util/HashMap.<init> 0 311481/2 4790260422549 7 -> java/util/AbstractMap.<init> 0 311481/2 4790260422556 7 -> java/lang/Object.<init> 0 311481/2 4790260422563 7 <- java/lang/Object. 0 311481/2 4790260422615 7 -> java/util/HashMap$Entry.<init> 0 311481/2 4790260422623 7 -> java/lang/Object.<init> 0 311481/2 4790260422630 6 <- java/lang/Object. 0 311481/2 4790260422723 9 -> java/lang/Object.<init> 0 311481/2 4790260422730 7 <- java/lang/Object. 0 311481/2 4790260422775 7 -> java/util/AbstractList.<init> 0 311481/2 4790260422783 7 -> java/util/AbstractCollection.<init> 0 311481/2 4790260422790 7 -> java/lang/Object.<init> 0 311481/2 4790260422797 7 <- java/lang/Object. 0 311481/2 4790260422967 10 -> java/util/HashMap$KeySet.<init> 0 311481/2 4790260422978 10 -> java/util/AbstractSet.<init> 0 311481/2 4790260422985 7 -> java/util/AbstractCollection.<init> 0 311481/2 4790260422993 7 -> java/lang/Object.<init> 0 311481/2 4790260423000 7 <- java/lang/Object. 0 311481/2 4790260423254 11 -> java/util/LinkedHashMap$KeyIterator.<init> 0 311481/2 4790260423266 11 -> java/util/LinkedHashMap$LinkedHashIterator.<init> 0 311481/2 4790260423276 9 -> java/util/LinkedHashMap$LinkedHashIterator.<init> 0 311481/2 4790260423286 10 -> java/lang/Object.<init> 0 311481/2 4790260423294 7 <- java/lang/Object. 0 311481/2 4790260423460 7 -> java/util/AbstractList$Itr.<init> 0 311481/2 4790260423468 7 -> java/lang/Object.<init> 0 311481/2 4790260423475 7 <- java/lang/Object.