]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - cddl/contrib/dtracetoolkit/Examples/j_classflow_example.txt
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
[FreeBSD/stable/10.git] / cddl / contrib / dtracetoolkit / Examples / j_classflow_example.txt
1 Following are examples of j_classflow.d.  
2
3 This watches Java method entries and returns from all Java processes on the 
4 system with hotspot provider support (1.6.0) and the flag
5 "+ExtendedDTraceProbes".  eg, java -XX:+ExtendedDTraceProbes classfile
6
7 Here we can see it run on Code/Java/Func_abc. 
8
9 # j_classflow.d Func_abc
10   C    PID TIME(us)         -- CLASS.METHOD
11   0 311425 4789778117827    -> Func_abc.main
12   0 311425 4789778117844      -> Func_abc.func_a
13   0 311425 4789779120071        -> Func_abc.func_b
14   0 311425 4789780130070          -> Func_abc.func_c
15   0 311425 4789781140067          <- Func_abc.func_c
16   0 311425 4789781140079        <- Func_abc.func_b
17   0 311425 4789781140087      <- Func_abc.func_a
18   0 311425 4789781140095    <- Func_abc.main
19 ^C
20
21 The first column, C gives us the CPU ID.
22
23 The second column, TIME(us), gives us the time since boot in microseconds.
24
25 The third column, PID gives us the Process ID.
26
27 The fourth column, CLASS.METHOD gives us the Java class and method name.
28
29 We can see that Func_abc.main called Func.abc.func_a, which in turn
30 called Func_abc.funcb etc.
31
32 Here we can see an example of running it on java/io/BufferedOutputStream
33
34 # j_classflow.d java/io/BufferedOutputStream
35   C    PID TIME(us)         -- CLASS.METHOD
36   0 311461 4790094765413    -> java/io/BufferedOutputStream.<init>
37   0 311461 4790094765459    <- java/io/BufferedOutputStream.<init>
38   0 311461 4790094779559    -> java/io/BufferedOutputStream.<init>
39   0 311461 4790094779595    <- java/io/BufferedOutputStream.<init>
40   0 311461 4790094965883    -> java/io/BufferedOutputStream.write
41   0 311461 4790094965913    <- java/io/BufferedOutputStream.write
42   0 311461 4790094965926    -> java/io/BufferedOutputStream.flush
43   0 311461 4790094965936      -> java/io/BufferedOutputStream.flushBuffer
44   0 311461 4790094966279      <- java/io/BufferedOutputStream.flushBuffer
45   0 311461 4790094966293    <- java/io/BufferedOutputStream.flush
46   0 311461 4790094966588    -> java/io/BufferedOutputStream.write
47   0 311461 4790094966602    <- java/io/BufferedOutputStream.write
48   0 311461 4790094966610    -> java/io/BufferedOutputStream.flush
49   0 311461 4790094966618      -> java/io/BufferedOutputStream.flushBuffer
50   0 311461 4790094966778      <- java/io/BufferedOutputStream.flushBuffer
51   0 311461 4790094966787    <- java/io/BufferedOutputStream.flush
52   0 311461 4790094966811    -> java/io/BufferedOutputStream.flush
53   0 311461 4790094966819      -> java/io/BufferedOutputStream.flushBuffer
54   0 311461 4790094966828      <- java/io/BufferedOutputStream.flushBuffer
55   0 311461 4790094966836    <- java/io/BufferedOutputStream.flush
56   0 311461 4790095970345    -> java/io/BufferedOutputStream.write
57   0 311461 4790095970372    <- java/io/BufferedOutputStream.write
58   0 311461 4790095970382    -> java/io/BufferedOutputStream.flush
59   0 311461 4790095970390      -> java/io/BufferedOutputStream.flushBuffer
60   0 311461 4790095970453      <- java/io/BufferedOutputStream.flushBuffer
61   0 311461 4790095970462    <- java/io/BufferedOutputStream.flush
62   0 311461 4790095970737    -> java/io/BufferedOutputStream.write
63   0 311461 4790095970751    <- java/io/BufferedOutputStream.write
64   0 311461 4790095970759    -> java/io/BufferedOutputStream.flush
65   0 311461 4790095970766      -> java/io/BufferedOutputStream.flushBuffer
66   0 311461 4790095970795      <- java/io/BufferedOutputStream.flushBuffer
67   0 311461 4790095970804    <- java/io/BufferedOutputStream.flush
68   0 311461 4790095970828    -> java/io/BufferedOutputStream.flush
69   0 311461 4790095970836      -> java/io/BufferedOutputStream.flushBuffer
70   0 311461 4790095970844      <- java/io/BufferedOutputStream.flushBuffer
71   0 311461 4790095970853    <- java/io/BufferedOutputStream.flush
72   0 311461 4790096980348    -> java/io/BufferedOutputStream.write
73   0 311461 4790096980373    <- java/io/BufferedOutputStream.write
74   0 311461 4790096980383    -> java/io/BufferedOutputStream.flush
75   0 311461 4790096980391      -> java/io/BufferedOutputStream.flushBuffer
76   0 311461 4790096980452      <- java/io/BufferedOutputStream.flushBuffer
77   0 311461 4790096980460    <- java/io/BufferedOutputStream.flush
78   0 311461 4790096980735    -> java/io/BufferedOutputStream.write
79   0 311461 4790096980749    <- java/io/BufferedOutputStream.write
80   0 311461 4790096980757    -> java/io/BufferedOutputStream.flush
81   0 311461 4790096980765      -> java/io/BufferedOutputStream.flushBuffer
82   0 311461 4790096980794      <- java/io/BufferedOutputStream.flushBuffer
83   0 311461 4790096980803    <- java/io/BufferedOutputStream.flush
84   0 311461 4790096980826    -> java/io/BufferedOutputStream.flush
85   0 311461 4790096980834      -> java/io/BufferedOutputStream.flushBuffer
86   0 311461 4790096980843      <- java/io/BufferedOutputStream.flushBuffer
87   0 311461 4790096980851    <- java/io/BufferedOutputStream.flush
88
89