ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Java custom node profiling

Post new topic  Reply to topic
 Java custom node profiling « View previous topic :: View next topic » 
Author Message
goffinf
PostPosted: Wed Jul 21, 2010 11:47 am    Post subject: Java custom node profiling Reply with quote

Chevalier

Joined: 05 Nov 2005
Posts: 401

We have a number of custom nodes written in Java. I would like to be able to profile these nodes under load using a profiler (e.g. JProfiler). Does anyone know whether this is possible and if so can point me in the right direction for attaching the profiler to an execution group that contains a flow which has such a node ?

Thanks

Fraser.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Jul 21, 2010 12:23 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

I don't really recommend doing this.

However, the Broker uses the IBM JVM, which means you can set the environment variable IBM_JAVA_OPTIONS (or just JAVA_OPTIONS on Windows) to include JVM settings that you need to pass into the java runtime.

This would presumably allow you to configure the profiler interface in the JVM portion of your EG and then do whatever you would normally do to connect to a JVM from your profiler.

But I don't recommend doing this.

Maybe you can get timings and profilings out of the output of a service trace.
Back to top
View user's profile Send private message
mgk
PostPosted: Wed Jul 21, 2010 12:36 pm    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Quote:
or just JAVA_OPTIONS on Windows


I think you meant or just JAVA_OPTIONS on Solaris.


Kind Regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Jul 21, 2010 1:25 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

mgk wrote:
Quote:
or just JAVA_OPTIONS on Windows


I think you meant or just JAVA_OPTIONS on Solaris.


Kind Regards,


I'm sure you're right.

Despite the page I found somewhere on ibm.com that showed %JAVA_OPTIONS%;...
Back to top
View user's profile Send private message
goffinf
PostPosted: Wed Jul 21, 2010 9:49 pm    Post subject: Reply with quote

Chevalier

Joined: 05 Nov 2005
Posts: 401

mqjeff wrote:
I don't really recommend doing this.


What is your concern here ?

mqjeff wrote:

Maybe you can get timings and profilings out of the output of a service trace.


Ok that's worth a try.

Thanks

Fraser.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Jul 22, 2010 2:43 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

goffinf wrote:
mqjeff wrote:
I don't really recommend doing this.


What is your concern here ?


That doing so will interfere with the normal workings of the broker...

That doing so will not provide you meaningful data, because at least some of the work that your "java custom node" is performing is actually being handled by the C++ runtime, and thus what appears to either be a very fast operation in Java or a very slow operation in Java is in fact neither...

But I accept that there are certain kinds of things that it will be very difficult to understand otherwise - like how a given java custom node interacts with itself across multiple threads simultaneously or how it's using jvm heap or etc.
Back to top
View user's profile Send private message
goffinf
PostPosted: Wed Aug 04, 2010 1:01 pm    Post subject: Reply with quote

Chevalier

Joined: 05 Nov 2005
Posts: 401

Thanks Jeff, I understand your concerns but I still want to proceed wi his if possible.

The problem I am currently facing is that JProfiler requires the following arguments to be passed to the JVM. I added them to the environment variable IBM_JAVA_OPTIONS :-

-Xshareclasses:none -agentpath:C:\Program Files\jprofiler6\bin\windows\jprofilerti.dll=port=8849

However when I do this things get a bit strange. The execution group starts (that is, a DataFlowEngine.exe process exists) but it is much smaller than it normally is ???

There aren't any error in the logs, but it is clearly not happy. Attempts to stop the execution group fail (until you kill the process), and thereafter any attempt to restart it fail with verification errors such as unable to determine the version of Java.

Interestingly, JProfiler can connect to it and shows a whole slew of Java core classes, but not my custom node ones.

Has anyone out there tried to use any Java profiler with Message Broker, I'm not forced to use JProfiler, I just chose it because it seemed to be pretty mainstream.

Thanks

Fraser
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Java custom node profiling
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.