harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elford, Chris L" <chris.l.elf...@intel.com>
Subject RE: [Classlib][General] Looking for some profiler tools to use
Date Sat, 31 Mar 2007 01:05:54 GMT
Note also that if you are using the "External Java Application" launch configuration from within
the workbench, it will use whatever JVM you configured your agent controller to use (which
you can point to a Harmony JVM).  You can configure this when you run setConfig.bat.

1) Configure and start your external agent controller:
Then from within the workbench
2) Run->open profile dialog
3) Create an external java application configuration making sure to test the connectivity
to the agent controller
4) Configuring the type of Java5+ (JVMTI) profiling you want (in the monitor tab)
	execution time (callgraph), memory analysis (heap), or thread analysis (thread)

JVMTI based profiling has been in tech preview in Eclipse/TPTP for a while now and is targeting
GA in the Europa simultaneous release in a few months (http://www.eclipse.org/tptp/home/project_info/devplans/Eclipse%20TPTP%20Project%204.4%20Release%20Plan.htm#Features).



-----Original Message-----
From: Elford, Chris L 
Sent: Friday, March 30, 2007 5:55 PM
To: 'dev@harmony.apache.org'
Subject: RE: [Classlib][General] Looking for some profiler tools to use

Hi Jimmy,

  If you want to run TPTP JVMTI based profiling standalone and import the results into Eclipse,
you'll need to follow the instructions for setting your command line.  

  The readme for this will be in a subdirectory under where you installed your agent controller....
 Use instructions look like this:

To run the new Java Profiler in standalone mode on Windows:
a) Set TPTP_AC_HOME=<<Agent Controller Home>>
b) Set JAVA_PROFILER_HOME=%TPTP_AC_HOME%\plugins\org.eclipse.tptp.javaprofiler
d) Set PATH=%PATH%;%JAVA_HOME%\bin
e) Execute the following command:
   java -agentlib:JPIBootLoader=JPIAgent:server=standalone;CGProf <<Your
   Application to profile>>

To run the new Java Profiler in standalone mode on Linux:
a) Set TPTP_AC_HOME=<<Agent Controller Home>>
b) Set JAVA_PROFILER_HOME=%TPTP_AC_HOME%/plugins/org.eclipse.tptp.javaprofiler
c) Add the following directories to LD_LIBRARY_PATH:
d) Execute the following command:
   java ‘-agentlib:JPIBootLoader=JPIAgent:server=standalone;CGProf’ <<Your
   Application to profile>>

The profiling output will be written to a file named trace.trcxml in the current 
directory that can then be loaded into the TPTP GUI..  

There is a way to select the JRE to use from the GUI so that you can run directly from the
workbench.  The launch configurations have been undergoing some updates recently and I don't
see the dialog at the moment.


Chris Elford
Intel SSG/Enterprise Solutions Software Division

-----Original Message-----
From: LvJimmy,Jing [mailto:firepure@gmail.com] 
Sent: Friday, March 30, 2007 3:08 AM
To: dev@harmony.apache.org
Subject: Re: [Classlib][General] Looking for some profiler tools to use

2007/3/30, Ivan Popov <ivan.g.popov@gmail.com>:
> You may want to use Eclipse TPTP Java profiler from Eclipse Test &
> Performance Tools Platform Project [1]. Current version 4.4.0 includes
> new JVMTI profiler, which supports Execution time analysis, Threads
> status analysis, and Objects allocation analysis. It supports
> profiling both application and system classes, just set appropriate
> filters in Monitor tab of launching configuration.
> This is development version, which is not yet much stable and
> convenient, but it became much better last time. You may download
> stable or candidate build here [2]. See good instruction how to setup
> TPTP JVMTI profiler in [3]. This instruction is slightly outdated, but
> still useful. Updated instruction will appear shortly. Also very
> useful changes in launching configuration are expected soon, which
> will greatly facilitate launching application under profiler.
> I checked TPTP profiler with Harmony JDK and it appeared working quite
> well. Let me know if you'll experience any problems with TPTP
> profiler.

Thanks Ivan! I've download TPTP and have a try. It is properly a very
good profiler, nice-looking UI, easy to use.  However I can not find
how to set a certain VM in TPTP? I mean, when I try to profile some
codes under RI, it works (I start eclipse with RI), but when I try to
profiler under DRLVM or IBMVME, I can not find the right place to set
the proper JRE? I've tried to modify JRE in "Run" View, but it does
not effect profiler at all, System.getProperty("java.vm.name") show
that is RI.
But maybe we can start eclipse with Harmony and run profiler?

> Thanks.
> Ivan
> [1] http://www.eclipse.org/tptp/
> [2] http://www.eclipse.org/tptp/home/downloads/?ver=4.4.0
> [3] http://www.eclipse.org/tptp/platform/documents/tutorials/jvmti/Java_Application_Profiling_using_TPTP-r4-3.html
> On 3/30/07, LvJimmy,Jing <firepure@gmail.com> wrote:
> > 2007/3/30, LvJimmy,Jing <firepure@gmail.com>:
> > > Hi All,
> > >     Harmony has reach 95% API coverage, IMHO it may be a good time to
> > > start performance profiler/tuning. If so, I'd like  to do some
> > > performance profiler on Harmony Classlib from now on ;)
> > >     In order to look for performance bottleneck, we need some profiler
> > > tools. I've looked for some profiler to use in the while, but none of
> > > them work perfectly.
> > >     I've tried yourkit (with a evaluation key, I try this because it
> > > looks powerful and may offer a Open source project license for free),
> > > seems it check VM version and ask for sun's jdk or IBM sdk5, so
> > > Harmony fails on it (with DRLVM or IBMVME, I haven't try other VM yet.
> > >     There's also some open source profiler. JRat works well with some
> > > of benchmarks, but we can not use it with Harmony kernel classes and
> > > some kernel-related class(e.g. Hashtable), as it uses a
> > > instrumentation machnism and causes a circular reference. And some
> > > other open source profilers use JVMPI but Harmony even can not run on
> > > it at all (if I do not mis-configure something).
> > >     In all, I think we need a profiler that:
> > >     1. use JVMTI, avoid instrumentation that may causes a circular
> > > reference, and it is better that it do not use old JVMPI, for Harmony
> > > is J2SE5 classlib;
> > >     2. Do not check VM version, that means, use public API as JVMTI,
> > > in this way Harmony-compatible VM can work well on it
> > >     3. stable and powerful  :)
> >
> > I forget one important thing:  4. for free use, and it'll be better if
> > it is open-source  :)
> >
> > >     Of course it'll be better if the profiler has a UI, but it is not necessary.
> > >
> > >     Do someone have some experience on profilers? Can someone tell if
> > > there's a good profiler for Harmony classlib? Thanks!
> > >
> > > --
> > >
> > > Best Regards!
> > >
> > > Jimmy, Jing Lv
> > > China Software Development Lab, IBM
> > >
> >
> >
> > --
> >
> > Best Regards!
> >
> > Jimmy, Jing Lv
> > China Software Development Lab, IBM
> >


Best Regards!

Jimmy, Jing Lv
China Software Development Lab, IBM

View raw message