Hi Lasantha,
Good to know you’re interested in this work. The more help we get, the
merrier. The general steps for adding J2EE managed object statistics are:
1. Find the J2EE managed object class and modify the
isStatisticsProvider() method to return true.
2. Have the J2EE managed object class implement StatisticsProvider
interface and provide an implementation for the method: Stats
getStats(). This should return an instance of the matching Stats
interface (e.g., ServletStats) for the J2EE managed object.
Note that a major part of this work is finding the right J2EE managed
object and adding a way to gather the statistics needed if it’s not yet
provided. So far that’s where we need a lot of help. We need to know how
to get the needed statistics. Best case is if the J2EE managed object is
already gathering the needed data and all we need to do is expose it.
Otherwise, we need to add that functionality.
I hope this can get you started. ;-)
Best wishes,
chris
Lasantha Ranaweera wrote:
Hi Chris,
I would like to contribute to this work in the Geronimo too ;-) .
Went through the JSR. Saw Jetty implementation is already available
there even though it is commented in the source code. I hope to start
from Tomcat side.
Any help would be appriciated.
Thanks,
Lasantha Ranaweera
Christopher M. Cardona wrote:
CORRECTION: The 'Implementing Class' column was modified to
'StatisticsProvider Class' column. This column lists the classes that
implement the StatisticsProvider interface which defines a method to
return a specific managed object Stats.
Christopher M. Cardona wrote:
I’m currently looking on how to implement JSR 77 Stats interfaces
(GERONIMO-2517) and I've created a wiki page to keep track of the
progress:
http://cwiki.apache.org/confluence/display/GMOxDEV/JSR+77+Performance+Monitoring+%28Stats+Interfaces%29
This page lists the Stats interface required by each managed object
type including the methods to be implemented. The ‘Implementing
Class’ column is the specific Class that would implement the
corresponding Stats interface and this is where I need some input
from you guys. Implementing these interfaces might involve source
modification of other projects that Geronimo uses (e.g. Openejb,
ActiveMQ, Jetty, Tomcat, etc.) and it would really help if domain
experts on these projects provide suggestions and info on how and
where to implement the said interfaces. It would also help to bring
up possible issues when implementing the said interfaces. Please
feel free to modify the wiki page for corrections or additions.
Here’s a list of Stats interfaces that we can implement and support
in Geronimo:
1. EJBStats
2. SessionBeanStats
3. StatelessSessionBeanStats
4. StatefulSessionBeanStats
5. MessageDrivenBeanStats**
6. EntityBeanStats
7. ServletStats
8. JCAStats
9. JCAConnectionStats
10. JCAConnectionPoolStats
11. JTAStats
12. JDBCStats
13. JDBCConnectionStats
14. JDBCConnectionPoolStats
15. JMSStats
16. JMSConnectionStats
17. JMSSessionStats
18. JMSEndpointStats
19. JMSProducerStats
20. JMSConsumerStats
21. JavaMailStats
22. URLStats
23. JVMStats (Already implemented)
Thanks,
chris