Hi Mike,
Your simple profiler is pretty good. It did the job while JProbe didn't (JProbe wouldn't show the timings for an optimized nanoXML I'm using). Thanks!!!
I few wish items:
o display the method CPU and % broken by the called-by
o save/restore the run parms
o what are the "CPU" column units?
o what about threads? Does you profiler choose the main one automatically?
Stan Berka
Pope & Talbot, Inc.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If I understand your first point correctly, I think you can get that information by using the "tree view" instead of the "graph view". To access the tree view, expand the Threads item, select a thread, and then select a method. It is a TODO item to allow quick navigation between the 2 views.
The run parameters should be getting saved and restored. Are they not showing up as items in the combo boxes?
The units are all in seconds. It's a TODO item to put the units on the GUI somewhere. I'd also like to make them configurable.
The profiler accumulates CPU time and wall time for each thread separately. You can see times for individual threads by using the tree view as described above.
Mike
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To help explain the difference between the Graph View and Tree View panels look at this example program:
public class Main {
public static void main( String args[]) {
a();
}
public void a() {
b();
c();
}
public void b() {
d();
}
public void c() {
d();
}
public void d() {
}
}
The Graph View panel treats the data as a directed cyclic graph where each node is a method; like so:
a
/ \
b c
\ /
d
When reporting the total cpu spent in method d, it adds the instances d was called by b and the instances it was called by c.
The Tree View panel treats the data as a tree where each node is a single frame; like so:
a
/ \
b c
| |
d d
Method d appears twice in this tree; once called by b and once called by d. The Tree View panel reports on each of them separately. So in effect the Tree View panel has a greater degree of detail.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Mike,
Your simple profiler is pretty good. It did the job while JProbe didn't (JProbe wouldn't show the timings for an optimized nanoXML I'm using). Thanks!!!
I few wish items:
o display the method CPU and % broken by the called-by
o save/restore the run parms
o what are the "CPU" column units?
o what about threads? Does you profiler choose the main one automatically?
Stan Berka
Pope & Talbot, Inc.
Thank you very, very much for the feedback!
If I understand your first point correctly, I think you can get that information by using the "tree view" instead of the "graph view". To access the tree view, expand the Threads item, select a thread, and then select a method. It is a TODO item to allow quick navigation between the 2 views.
The run parameters should be getting saved and restored. Are they not showing up as items in the combo boxes?
The units are all in seconds. It's a TODO item to put the units on the GUI somewhere. I'd also like to make them configurable.
The profiler accumulates CPU time and wall time for each thread separately. You can see times for individual threads by using the tree view as described above.
Mike
To help explain the difference between the Graph View and Tree View panels look at this example program:
public class Main {
public static void main( String args[]) {
a();
}
public void a() {
b();
c();
}
public void b() {
d();
}
public void c() {
d();
}
public void d() {
}
}
The Graph View panel treats the data as a directed cyclic graph where each node is a method; like so:
a
/ \
b c
\ /
d
When reporting the total cpu spent in method d, it adds the instances d was called by b and the instances it was called by c.
The Tree View panel treats the data as a tree where each node is a single frame; like so:
a
/ \
b c
| |
d d
Method d appears twice in this tree; once called by b and once called by d. The Tree View panel reports on each of them separately. So in effect the Tree View panel has a greater degree of detail.