module proposall - Spring monitoring
I want to know if someone is interesting in a monitoring-module.
i'll have to work next month in an application where i need to compute the execution time for different layers (principally services/bos and daos), logging that to a file and optionally present this information in a web page and as a JMX bean. Also i need to active or deactivate the trace and monitoring module via JMX beans or configure some Monitor for to a particular bean via jmx.
For the trace we are planning to log something like this
Code:
bean-name[business-object-entities] - method[getAllEntities] - user[USERNAME]time[1234 ms]
sub operation - - bean-name[crud-generic-dao] - method[getAll] - time[234 ms]
sub operation - - bean-name[crud-dao-helper] - method[transform] - time[100 ms]
sub operation - - bean-name[intranet-service-FN] - method[getData] - time[1000 ms]
Basically i need to profile and show the execution stack of the application at any time, but .... it should be possible to active or deactivate this on the fly, by putting or removing a spring context file outside the application (${jboss.deploy.dir} in runtime and do a hot deploy of the application. Also it should be possible to active or deactivate some functionallities by a JMX Bean, like stop or start trace, monitor at bean lavel or method level, activate user monitor at application level, bean level or method level, etc.
For the moment i only need to apply an aspect (may be with the autoproxy capability) to all the beans with names (for example ending with *-bo and *-dao) or beans extending some interface that indicate the layer (BusinessObject, DataAccessObject, etc)
The monitoring would possible present information like this
Code:
Monitor[example.business.object-saveAllEntities]
currentExecutions=2
totalError=1
minTime=300
maxTime=1045
totalExecutions=45