There are two points to measure.
At server side we log the dureation and the type of call.
Same we do at the measure-client.
Also we analyze the JVM GC log and the CPU and I/O of the (UNIX) server system.
With this data we are able to see the footprint of memory and CPU for each JBoss/App instance.
With this data we do optimizing and forcast.
It is indispensable to cluster instances with the same power, othewise you will have performance-leaks in your cluster :( because of the symetric loadbalancing.
A loadbalancing with server sided measurement will have too much weight for administrate the data mining IMHO.