Public: Concord Software Projects : OTrunk Profiling
This page last changed on Jun 11, 2008 by stepheneb.
See: Java Profiling with JIP for instructions for setting up JIP and using it with Eclipse.
I profiled the OTrunk LOOPS demo activity: motion-graph-multi-activity1 using JIP.
JIP collected data on all the threads (screen captures from jipViewer):
Here's a partial display of the call tree for thread 1:
Executing Main in thread 1 takes almost 2.7s and 0.35s of that was spent in loadData.
Taking a closer look at why loadData was taking so much time you can see that a portion is spent in jdoms getChildren method:
I added this parameter to my profile.properties file:
and created a profile for one of the simplest OTrunk activities: Basic Text Edit. The result below shows how now the two calls to <init> by loadURL can now be distinguished by their method signatures (and also that this simple activity starts up in about 1/2 the time of the more complex activity):
You can see in the display below that during the course of the OTrunk activity almost 17% was spent in jdom while 30% was spent in the view package.
JIP alternatively supports collecting a timeline of actions. Timeline profiling only outputs in a text file format and is not viewable using JipViewer. The timeline data shows events from different threads in sequence.
Here's a short excerpt showing one thread ending and another starting near the 2s mark:
These data are useful when investigating concurrency issues. The timeline file size for an OTrunk activity start and immediate stop is 22MB. Analyzing this type of data is more practical when collected from a more constrained period of program execution. This can be done with a remote program or programatically inside OTrunk by using JIP classes.
The results are attached in these files:
If you have JIP installed you can download these profile and view the results using jipViewer.
|Document generated by Confluence on Jan 27, 2014 16:52|