Saturday, March 19, 2005

Trifork P4 (profiling the AOP way)

Attended a seminar held by Trifork just a few weeks ago. To those who might not know who/what trifork is, it is a danish software company developing a J2EE compliant application server (newest version is full J2EE 1.4 spec compliant to my knowledge).

Anyways - the seminar was about their latest product. A profiler which does not use the normal JVMPI approach but rather does it the AOP way... instruments bytecode at load-time (much like many AOP frameworks does it) and weaves tiny bits of profiling code into the loaded classes (and methods and whatever) at load time, hence avoiding the dreaded JVMPI which really sloooows down your VM. (HA! - just found myself talking as Dory from Finding Nemo when she talks whale :-) )

Deployed inside the VM currently executing your code which then again is being profiled, is an Agent - a profiler agent to which clients can connect and retrieve information. Pretty neat I think.... The product also comes with a ready-to-deploy web-app capable of displaying all the profiling information given by the agent. Anyway - If you, as I, are more interested in how they've implemented this, let me just say: java.lang.instrument (even on j2sdk 1.4.x versions) and ofcoz javassist (bytecode lib) but more on this later.......


Post a Comment

<< Home