Hi Chris,
Thanks for providing me this information and it definitely will help me.
I would like to clarify following questions before jumping in to the
deep end. ;-)
I saw related source code in the Jetty web container too (which has been
commented currently) & to my understanding the web container related
J2EEManged objects has been implemented in the geronimo-management
source code. Isn't it? Can't we add the same kind of source code to the
Tomcat too after learning inside of Tomcat implementation? At the same
time we can implement framework related objects.
Also is there any test cases related to this work?
Thanks Again,
Lasantha
Christopher M. Cardona wrote:
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