the corner office

a blog, by Colin Pretorius

« One thing about Firefox that I *don't* like | Main | Sunday »

# Java Profilers

The Java Notes API is a little opaque, and even when you think you're on top of memory management with recycle() and the lot, it's not always smooth sailing. One app I've been working on churns through about 200 databases, uploading certain documents from these Dbs. I recycle every database as I'm done with it, but over time the churn rate starts dropping off, and memory usage still creeps upwards, making me wonder what exactly's going on in the bowels of the app.

Mmm, says I, It Is Time I Learned To Use A Profiler, to see exactly what's Going On. I did a quick search and found a few candidates.

First off I found and tried JMechanic - an Eclipse plug-in, meaning that (Eclipse does rock, y'know), you have your profiling tools integrated into your debugger. jMechanic told me that up-front, half my app's execution time is spent in getDocumentByUNID(). Hardly a surprise, but instructive nonetheless. My next step was to take a peek at the heap, but JMechanic falls foul of a known Java bug when it tries to access the heap on pre-1.4.2 JVMs (I was using 1.4.1_02). I tried upgrading to JVM 1.4.2_03 and with that I couldn't even start the debugger - Eclipse hangs at the "Establishing debug connection..." part of the launch process. So much for that.

Next, I stumbled across Eclipse Profiler. Not as easy to get running as jMechanic, since you have to copy a dll into your JRE folder, and the project documentation isn't too clear (there are two downloads, and it seems one is needed, not the other, and I'm not sure what the difference is). Anyway, it's moot, because it also chokes on the 'Establishing debug connection...' step. You can cancel, so Eclipse hasn't crashed-crashed, but I still can't run the profilers.

So the common denominator seems to be my new JVM. More homework to follow. I'm also going back to basics, and trying to get cosy with hprof, which is Java's built-in profiling utility. Since the above Eclipse plug-ins rely on hprof to do their thing, it makes sense to learn the basic tool, and take it from there.

If you have any experience with other cool easy-to-use, open-source profilers, I'd love to hear about it.

File under: java : {2004.03.07 21:36}

Add a comment

Your name (mandatory):

Your email:
Your email address is not displayed
Your home page:

Comment (sorry, no HTML):

Remember details?
Yes No

meta

-home-
about
contact
disclaimer
articles
code
tech blog

style: [?]
[plain.dark.blue]

Categories

java
linux
music
notes/domino
personal
politiek
studies
techie
thee_blog
world

RSS Feeds

rssfeed all posts
rssfeed all cmts
rssfeed tech posts
rssfeed tech cmts

Archives

2012.02
2012.01
2011.12
2011.11
2011.10
2011.09
2011.08
2011.07
2011.06
2011.05
2011.04
2011.03
2011.02
2011.01
2010.12
2010.11
2010.10
2010.09
2010.08
2010.07
2010.06
2010.05
2010.04
2010.03
2010.02
2010.01
2009.12
2009.11
2009.10
2009.09
2009.08
2009.07
2009.06
2009.05
2009.04
2009.03
2009.02
2009.01
2008.12
2008.11
2008.10
2008.09
2008.08
2008.07
2008.06
2008.05
2008.04
2008.03
2008.02
2008.01
2007.12
2007.11
2007.10
2007.09
2007.08
2007.07
2007.06
2007.05
2007.04
2007.03
2007.02
2007.01
2006.12
2006.11
2006.10
2006.09
2006.08
2006.07
2006.06
2006.05
2006.04
2006.03
2006.02
2006.01
2005.12
2005.11
2005.10
2005.09
2005.08
2005.07
2005.06
2005.05
2005.04
2005.03
2005.02
2005.01
2004.12
2004.11
2004.10
2004.09
2004.08
2004.07
2004.06
2004.05
2004.04
2004.03
2004.02
2004.01
2003.12
2003.11
2003.10
2003.09
2003.08
2003.07
2003.06

© Colin Pretorius