The following are examples of j_syscolors.d.
This is a simple script to trace the method flow of Java methods within a
program, and the system calls made. It watches Java method entries and
returns, and indents child * method calls. It renders the output in color
("colour") using terminal escape sequences (which you can tweak by modifying
the script).
Here it traces the example program, Code/Java/Func_abc.
WARNING: This output is full of terminal escape sequences, so if you are
trying to view this through an editor or web browser - it may look awful.
Try viewing this using "more" (although, depending on your terminal, it
still may look awful).
The fields in the output are, in order; CPU-id, Process ID/Thread ID, Elapsed
time from previous line to current line, Type of call (func/syscall) and name
of Java method or syscall.
If the flow appears to jump, check the TID column - the JVM may have switched
to another thread.
WARNING: Watch the first column carefully, it prints the CPU-id. If it changes,
then it is very likely that the output has been shuffled. Changes in TID will
appear to shuffle output, as we change from one thread depth to the next. See
Docs/Notes/ALLjavaflow.txt for additional notes.
# j_syscolors.d -c 'java -XX:+ExtendedDTraceProbes Func_abc'
C PID/TID DELTA(us) TYPE -- NAME
[2;32m0 311542/1 2 syscall -> munmap[0m
[2;32m0 311542/1 33 syscall <- munmap[0m
[2;32m0 311542/1 52 syscall -> mmap[0m
[2;32m0 311542/1 16 syscall <- mmap[0m
[2;32m0 311542/1 34 syscall -> setcontext[0m
[2;32m0 311542/1 7 syscall <- setcontext[0m
[2;32m0 311542/1 7 syscall -> getrlimit[0m
[2;32m0 311542/1 7 syscall <- getrlimit[0m
[2;32m0 311542/1 7 syscall -> getpid[0m
[2;32m0 311542/1 6 syscall <- getpid[0m
[2;32m0 311542/1 58 syscall -> setcontext[0m
[2;32m0 311542/1 6 syscall <- setcontext[0m
[2;32m0 311542/1 975 syscall -> sysi86[0m
[2;32m0 311542/1 9 syscall <- sysi86[0m
[2;32m0 311542/1 134 syscall -> brk[0m
[2;32m0 311542/1 8 syscall <- brk[0m
[2;32m0 311542/1 7 syscall -> brk[0m
[2;32m0 311542/1 10 syscall <- brk[0m
[2;32m0 311542/1 47 syscall -> sysconfig[0m
[2;32m0 311542/1 6 syscall <- sysconfig[0m
[2;32m0 311542/1 36 syscall -> resolvepath[0m
[2;32m0 311542/1 31 syscall <- resolvepath[0m
[2;32m0 311542/1 9 syscall -> resolvepath[0m
[2;32m0 311542/1 18 syscall <- resolvepath[0m
[2;32m0 311542/1 85 syscall -> access[0m
[2;32m0 311542/1 20 syscall <- access[0m
[2;32m0 311542/1 8 syscall -> access[0m
[2;32m0 311542/1 24 syscall <- access[0m
[2;32m0 311542/1 115 syscall -> open[0m
[2;32m0 311542/1 27 syscall <- open[0m
[2;32m0 311542/1 14 syscall -> fstat64[0m
[2;32m0 311542/1 7 syscall <- fstat64[0m
[2;32m0 311542/1 11 syscall -> fstat64[0m
[2;32m0 311542/1 6 syscall <- fstat64[0m
[2;32m0 311542/1 22 syscall -> ioctl[0m
[2;32m0 311542/1 7 syscall <- ioctl[0m
[2;32m0 311542/1 11 syscall -> read[0m
[2;32m0 311542/1 43 syscall <- read[0m
[2;32m0 311542/1 39 syscall -> read[0m
[2;32m0 311542/1 7 syscall <- read[0m
[2;32m0 311542/1 10 syscall -> llseek[0m
[2;32m0 311542/1 7 syscall <- llseek[0m
[2;32m0 311542/1 8 syscall -> close[0m
[2;32m0 311542/1 9 syscall <- close[0m
[2;32m0 311542/1 12 syscall -> sysconfig[0m
[2;32m0 311542/1 6 syscall <- sysconfig[0m
[2;32m0 311542/1 7 syscall -> sysconfig[0m
[2;32m0 311542/1 6 syscall <- sysconfig[0m
[2;32m0 311542/1 6 syscall -> sysconfig[0m
[2;32m0 311542/1 6 syscall <- sysconfig[0m
[2;32m0 311542/1 11 syscall -> xstat[0m
[2;32m0 311542/1 27 syscall <- xstat[0m
[2;32m0 311542/1 19 syscall -> exece[0m
[2;32m0 311542/1 684 syscall <- exece[0m
[2;32m0 311542/1 3320 syscall -> mmap[0m
[2;32m0 311542/1 22 syscall <- mmap[0m
[2;32m0 311542/1 26 syscall -> resolvepath[0m
[2;32m0 311542/1 52 syscall <- resolvepath[0m
[2;32m0 311542/1 8 syscall -> resolvepath[0m
[2;32m0 311542/1 25 syscall <- resolvepath[0m
[2;32m0 311542/1 7 syscall -> sysconfig[0m
[2;32m0 311542/1 6 syscall <- sysconfig[0m
[2;32m0 311542/1 9 syscall -> xstat[0m
[2;32m0 311542/1 18 syscall <- xstat[0m
[2;32m0 311542/1 7 syscall -> open[0m
[2;32m0 311542/1 18 syscall <- open[0m
[2;32m0 311542/1 7 syscall -> fxstat[0m
[2;32m0 311542/1 7 syscall <- fxstat[0m
[2;32m0 311542/1 6 syscall -> mmap[0m
[2;32m0 311542/1 11 syscall <- mmap[0m
[2;32m0 311542/1 7 syscall -> close[0m
[2;32m0 311542/1 10 syscall <- close[0m
[2;32m0 311542/1 42 syscall -> xstat[0m
[2;32m0 311542/1 27 syscall <- xstat[0m
[2;32m0 311542/1 8 syscall -> xstat[0m
[2;32m0 311542/1 19 syscall <- xstat[0m
[2;32m0 311542/1 7 syscall -> xstat[0m
[2;32m0 311542/1 25 syscall <- xstat[0m
[... 31000 lines truncated ...]
[2;35m0 311542/2 10 method <- java/util/HashSet.add[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.checkPackageAccess[0m
[2;35m0 311542/2 28 method -> java/lang/reflect/Method.getModifiers[0m
[2;35m0 311542/2 14 method <- java/lang/reflect/Method.getModifiers[0m
[2;35m0 311542/2 17 method -> Func_abc.main[0m
[2;35m0 311542/2 14 method -> Func_abc.func_a[0m
[2;35m0 311542/2 12 method -> java/lang/ClassLoader.checkPackageAccess[0m
[2;35m0 311542/2 10 method -> java/lang/System.getSecurityManager[0m
[2;35m0 311542/2 10 method <- java/lang/System.getSecurityManager[0m
[2;35m0 311542/2 11 method -> java/util/HashSet.add[0m
[2;35m0 311542/2 10 method -> java/util/HashMap.put[0m
[2;35m0 311542/2 9 method -> java/lang/Object.hashCode[0m
[2;35m0 311542/2 10 method <- java/lang/Object.hashCode[0m
[2;35m0 311542/2 10 method -> java/util/HashMap.hash[0m
[2;35m0 311542/2 10 method <- java/util/HashMap.hash[0m
[2;35m0 311542/2 10 method -> java/util/HashMap.indexFor[0m
[2;35m0 311542/2 10 method <- java/util/HashMap.indexFor[0m
[2;35m0 311542/2 10 method <- java/util/HashMap.put[0m
[2;35m0 311542/2 10 method <- java/util/HashSet.add[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.checkPackageAccess[0m
[2;32m0 311542/2 20 syscall -> brk[0m
[2;32m0 311542/2 15 syscall <- brk[0m
[2;32m0 311542/2 13 syscall -> brk[0m
[2;32m0 311542/2 17 syscall <- brk[0m
[2;35m0 311542/2 47 method -> java/lang/ClassLoader.loadClassInternal[0m
[2;35m0 311542/2 12 method -> java/lang/ClassLoader.loadClass[0m
[2;35m0 311542/2 10 method -> sun/misc/Launcher$AppClassLoader.loadClass[0m
[2;35m0 311542/2 10 method -> java/lang/String.lastIndexOf[0m
[2;35m0 311542/2 10 method -> java/lang/String.lastIndexOf[0m
[2;35m0 311542/2 11 method <- java/lang/String.lastIndexOf[0m
[2;35m0 311542/2 10 method <- java/lang/String.lastIndexOf[0m
[2;35m0 311542/2 10 method -> java/lang/System.getSecurityManager[0m
[2;35m0 311542/2 10 method <- java/lang/System.getSecurityManager[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.loadClass[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.check[0m
[2;35m0 311542/2 9 method <- java/lang/ClassLoader.check[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.checkName[0m
[2;35m0 311542/2 10 method -> java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method -> java/lang/String.indexOf[0m
[2;35m0 311542/2 11 method <- java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method <- java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method -> sun/misc/VM.allowArraySyntax[0m
[2;35m0 311542/2 10 method <- sun/misc/VM.allowArraySyntax[0m
[2;35m0 311542/2 10 method -> java/lang/String.charAt[0m
[2;35m0 311542/2 10 method <- java/lang/String.charAt[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.checkName[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass0[0m
[2;35m0 311542/2 12 method <- java/lang/ClassLoader.findLoadedClass0[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.findLoadedClass[0m
[2;35m0 311542/2 11 method -> java/lang/ClassLoader.loadClass[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.check[0m
[2;35m0 311542/2 9 method <- java/lang/ClassLoader.check[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.checkName[0m
[2;35m0 311542/2 10 method -> java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method -> java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method <- java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method <- java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method -> sun/misc/VM.allowArraySyntax[0m
[2;35m0 311542/2 10 method <- sun/misc/VM.allowArraySyntax[0m
[2;35m0 311542/2 10 method -> java/lang/String.charAt[0m
[2;35m0 311542/2 9 method <- java/lang/String.charAt[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.checkName[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.findLoadedClass0[0m
[2;35m0 311542/2 11 method <- java/lang/ClassLoader.findLoadedClass0[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.findLoadedClass[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.findBootstrapClass0[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.check[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.check[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.checkName[0m
[2;35m0 311542/2 10 method -> java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method -> java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method <- java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method <- java/lang/String.indexOf[0m
[2;35m0 311542/2 10 method -> sun/misc/VM.allowArraySyntax[0m
[2;35m0 311542/2 10 method <- sun/misc/VM.allowArraySyntax[0m
[2;35m0 311542/2 10 method -> java/lang/String.charAt[0m
[2;35m0 311542/2 9 method <- java/lang/String.charAt[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.checkName[0m
[2;35m0 311542/2 10 method -> java/lang/ClassLoader.findBootstrapClass[0m
[2;35m0 311542/2 12 method <- java/lang/ClassLoader.findBootstrapClass[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.findBootstrapClass0[0m
[2;35m0 311542/2 11 method <- java/lang/ClassLoader.loadClass[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.loadClass[0m
[2;35m0 311542/2 10 method <- sun/misc/Launcher$AppClassLoader.loadClass[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.loadClass[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.loadClassInternal[0m
[2;35m0 311542/2 14 method -> java/lang/ClassLoader.checkPackageAccess[0m
[2;35m0 311542/2 10 method -> java/lang/System.getSecurityManager[0m
[2;35m0 311542/2 10 method <- java/lang/System.getSecurityManager[0m
[2;35m0 311542/2 10 method -> java/util/HashSet.add[0m
[2;35m0 311542/2 10 method -> java/util/HashMap.put[0m
[2;35m0 311542/2 10 method -> java/lang/Object.hashCode[0m
[2;35m0 311542/2 9 method <- java/lang/Object.hashCode[0m
[2;35m0 311542/2 10 method -> java/util/HashMap.hash[0m
[2;35m0 311542/2 10 method <- java/util/HashMap.hash[0m
[2;35m0 311542/2 10 method -> java/util/HashMap.indexFor[0m
[2;35m0 311542/2 10 method <- java/util/HashMap.indexFor[0m
[2;35m0 311542/2 11 method <- java/util/HashMap.put[0m
[2;35m0 311542/2 10 method <- java/util/HashSet.add[0m
[2;35m0 311542/2 10 method <- java/lang/ClassLoader.checkPackageAccess[0m
[2;35m0 311542/2 18 method -> java/io/PrintStream.println[0m
[2;35m0 311542/2 13 method -> java/io/PrintStream.print[0m
[2;35m0 311542/2 12 method -> java/io/PrintStream.write[0m
[2;35m0 311542/2 12 method -> java/io/PrintStream.ensureOpen[0m
[2;35m0 311542/2 13 method <- java/io/PrintStream.ensureOpen[0m
[2;35m0 311542/2 15 method -> java/io/Writer.write[0m
[2;35m0 311542/2 16 method -> java/io/BufferedWriter.write[0m
[2;35m0 311542/2 13 method -> java/io/BufferedWriter.ensureOpen[0m
[2;35m0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen[0m
[2;35m0 311542/2 12 method -> java/io/BufferedWriter.min[0m
[2;35m0 311542/2 10 method <- java/io/BufferedWriter.min[0m
[2;35m0 311542/2 13 method -> java/lang/String.getChars[0m
[2;35m0 311542/2 10 method -> java/lang/System.arraycopy[0m
[2;35m0 311542/2 11 method <- java/lang/System.arraycopy[0m
[2;35m0 311542/2 10 method <- java/lang/String.getChars[0m
[2;35m0 311542/2 10 method <- java/io/BufferedWriter.write[0m
[2;35m0 311542/2 10 method <- java/io/Writer.write[0m
[2;35m0 311542/2 13 method -> java/io/BufferedWriter.flushBuffer[0m
[2;35m0 311542/2 10 method -> java/io/BufferedWriter.ensureOpen[0m
[2;35m0 311542/2 10 method <- java/io/BufferedWriter.ensureOpen[0m
[2;35m0 311542/2 13 method -> java/io/OutputStreamWriter.write[0m
[2;35m0 311542/2 13 method -> sun/nio/cs/StreamEncoder.write[0m
[2;35m0 311542/2 13 method -> sun/nio/cs/StreamEncoder.ensureOpen[0m
[2;35m0 311542/2 10 method <- sun/nio/cs/StreamEncoder.ensureOpen[0m
[2;35m0 311542/2 13 method -> sun/nio/cs/StreamEncoder.implWrite[0m
[2;35m0 311542/2 14 method -> java/nio/CharBuffer.wrap[0m
[2;35m0 311542/2 11 method -> java/nio/HeapCharBuffer.<init>[0m
[2;35m0 311542/2 10 method -> java/nio/CharBuffer.<init>[0m
[2;35m0 311542/2 10 method -> java/nio/Buffer.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/nio/CharBuffer.<init>[0m
[2;35m0 311542/2 10 method -> java/nio/Buffer.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 9 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/nio/CharBuffer.<init>[0m
[2;35m0 311542/2 10 method -> java/nio/Buffer.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/nio/CharBuffer.<init>[0m
[2;35m0 311542/2 10 method -> java/nio/Buffer.<init>[0m
[2;35m0 311542/2 9 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 9 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/nio/CharBuffer.<init>[0m
[2;35m0 311542/2 10 method -> java/nio/Buffer.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/nio/CharBuffer.<init>[0m
[2;35m0 311542/2 10 method -> java/nio/Buffer.<init>[0m
[2;35m0 311542/2 9 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 9 method <- java/lang/Object.[0m
[2;35m0 311542/2 12 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 28 method -> java/util/AbstractList$Itr.<init>[0m
[2;35m0 311542/2 17 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 12 method <- java/lang/Object.[0m
[2;35m0 311542/2 14 method -> java/util/IdentityHashMap$KeySet.<init>[0m
[2;35m0 311542/2 14 method -> java/util/AbstractSet.<init>[0m
[2;35m0 311542/2 10 method -> java/util/AbstractCollection.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 14 method -> java/util/IdentityHashMap$KeyIterator.<init>[0m
[2;35m0 311542/2 14 method -> java/util/IdentityHashMap$IdentityHashMapIterator.<init>[0m
[2;35m0 311542/2 13 method -> java/util/IdentityHashMap$IdentityHashMapIterator.<init>[0m
[2;35m0 311542/2 57 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 11 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/util/IdentityHashMap$KeyIterator.<init>[0m
[2;35m0 311542/2 10 method -> java/util/IdentityHashMap$IdentityHashMapIterator.<init>[0m
[2;35m0 311542/2 10 method -> java/util/IdentityHashMap$IdentityHashMapIterator.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;32m0 311542/2 19 syscall -> llseek[0m
[2;32m0 311542/2 6 syscall <- llseek[0m
[2;32m0 311542/2 7 syscall -> read[0m
[2;32m0 311542/2 14 syscall <- read[0m
[2;32m0 311542/2 7 syscall -> llseek[0m
[2;32m0 311542/2 6 syscall <- llseek[0m
[2;32m0 311542/2 6 syscall -> read[0m
[2;32m0 311542/2 12 syscall <- read[0m
[2;35m0 311542/2 130 method -> java/util/LinkedHashSet.<init>[0m
[2;35m0 311542/2 15 method -> java/util/HashSet.<init>[0m
[2;35m0 311542/2 10 method -> java/util/AbstractSet.<init>[0m
[2;35m0 311542/2 10 method -> java/util/AbstractCollection.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 13 method -> java/util/HashMap.<init>[0m
[2;35m0 311542/2 10 method -> java/util/AbstractMap.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/util/HashMap$Entry.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 9 method <- java/lang/Object.[0m
[2;35m0 311542/2 12 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/util/AbstractList.<init>[0m
[2;35m0 311542/2 10 method -> java/util/AbstractCollection.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 9 method <- java/lang/Object.[0m
[2;35m0 311542/2 14 method -> java/util/HashMap$KeySet.<init>[0m
[2;35m0 311542/2 14 method -> java/util/AbstractSet.<init>[0m
[2;35m0 311542/2 10 method -> java/util/AbstractCollection.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 14 method -> java/util/LinkedHashMap$KeyIterator.<init>[0m
[2;35m0 311542/2 14 method -> java/util/LinkedHashMap$LinkedHashIterator.<init>[0m
[2;35m0 311542/2 12 method -> java/util/LinkedHashMap$LinkedHashIterator.<init>[0m
[2;35m0 311542/2 13 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 10 method <- java/lang/Object.[0m
[2;35m0 311542/2 10 method -> java/util/AbstractList$Itr.<init>[0m
[2;35m0 311542/2 10 method -> java/lang/Object.<init>[0m
[2;35m0 311542/2 9 method <- java/lang/Object.