1) It is slow - It's the best I can do now, since there is no way on the API to get such thing. I can verify later if there is a way to associate two tags with a class on JVMTI, that would help me doing a faster navigation.
2) The formatting is not good - Any ideas on how to improve it? I have just made a quick fix, improved a little bit, but not much 3) Showing the field name - I don't have a way on the event chain to determine what's the field keeping a reference. It would be nice though. -----Original Message----- From: Adrian Brock Sent: Thursday, March 23, 2006 9:46 AM To: Clebert Suconic Cc: Scott M Stark; QA; jboss-development@lists.sourceforge.net Subject: RE: JBAS-2972 - OOME / Redeployment leakages On Thu, 2006-03-23 at 09:23 -0600, Clebert Suconic wrote: > The new features uses getRerenceHolders Method, which does an inverted > walkthrough everyObject looking for references on the object passed by > parameter, what can be done on a life JVM (I can discover holders > without create a snapshot) > > The method takes probably one second to run every time you call it, > since it walks through the whole heap. I have to do that, since there > isn't a way to fire reference events by its referenced objects. I have > to calculate the equivalent backward operation. For a 10 levels analysis > on a classLoader will probably take 1 minute or two. > I've been look at that this morning. 1) It is slow 2) The formatting is not good 3) Showing the field name There must be a better way to implement it, since that is what the api was designed for. > > BTW: If someone is using JVMTIInterface, I will create a xmdesc to the > MBean today/tomorrow. Right now you will have to look at parameter names > on source code (JVMTIInterfaceMBean) > > > > > > -----Original Message----- > From: Adrian Brock > Sent: Thursday, March 23, 2006 4:27 AM > To: Clebert Suconic > Cc: Scott M Stark; QA > Subject: RE: JBAS-2972 - OOME / Redeployment leakages > > On Thu, 2006-03-23 at 01:37 -0600, Clebert Suconic wrote: > > I created another method on JVMTIInterface, called > > exploreClassRefernces. With that method you can use JMXConsole to > > explore class and classLoader references to a class (given by name). > > > > - First let me explain how the data is organized: > > > > > > ReferencesToClassLoader.html shows every reference to > > [EMAIL PROTECTED] url=null > > ,addedOrder=50}, on this case the ClassLoader responsible for > deploying > > testbyvalue.ear. > > > > > > I have limited this analysis up to 10 levels. > > A better approach would be dump all objects and their > references out to a file. Then write something > that runs a full gc() over that information. > > Once that is done, you need something that lets you "walk the tree". > > I can imagine a visitor pattern that understands what is > permenantly deployed and what is hotdeployed and determines > the root cause. > > Otherwise, a simple GUI would do the trick. -- xxxxxxxxxxxxxxxxxxxxxxxx Adrian Brock Chief Scientist JBoss Inc. xxxxxxxxxxxxxxxxxxxxxxxx ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 _______________________________________________ JBoss-Development mailing list JBoss-Development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-development