My Photo

Become a Fan

DailyMile

Google Ad Skyscraper

« Running iLog jRules in WebSphere eXtreme Scale | Main | Running btrace on multiple JVMs on a single box »

June 06, 2009

Comments

A.O.P I am tired of technology

Is the AgentManager interface implemented by multiple classes? Are calls to such implementations nested?

bnewport

No, but rather than specify in a public blog entry the actual class name of the implementation, it seems better to just say anything that implements AgentManager which should just be the ibm runtime and this will always work even if we changed the impl class name. Only issue of course, is someone proxying it but they can then just make more specific scripts.

A.O.P I am tired of technology

It is worth pointing out to others that this script if ported to another problem context would give completely incorrect (understated) results if there was indeed nesting of calls matching the same probe point. You would be over-writing the timestamp (static) field in a nested call. Is this not the case?

Billy

Yep
The more I use it, the scripts are extremely limited. Not being able to call static methods for common sections of code means extensive copy and paste with the associated head aches on maintenance and readability.

A.O.P I am tired of technology

Once you go beyond the hello world examples you will quickly realize that it is fundamentally broken not to mention that its overhead in the context of performance measurement (aggregation) is not just huge it is colossal.

The first rule in software performance engineering is always measure the tool's overhead ** first ** before giving any due consideration to the data report. You failed the test. Next.....

bnewport

I'm finding very little difference in performance between running with it or without it. So, I think what ever axe you have to grind then it'd be nice if you just said. While it's cool to shoot arrows when you're anonymous, it carries a lot more weight when people know who you are and what the agenda is.

Thanks

bnewport

I guess to put further context on this. This is a very simple tool. It does not do what jxinsight does or a Wily introscope. For just kicking something around, its easy to use and you can get numbers out in minutes. I'd still recommend jx or even wily once you get to cluster of things or 'production'.

A.O.P I am tired of technology

An average overhead of 16 microseconds per method seems high to me if applied to a sufficiently large code (not just a single method) base with eXtreme performance requirements. Not to mention the fact that you will very quickly get integer overflow in the aggregation which is ** int ** based as you have clearly found out above.

"There are only two ways of telling the complete truth --anonymously and posthumously."

The comments to this entry are closed.