geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anita kulshreshtha <a_kuls...@yahoo.com>
Subject Re: Statistics Management and Jetty/Tomcat
Date Thu, 01 Dec 2005 15:11:37 GMT
     Tomcat provides the following statistics, listed
here in the increasing order of their usefulness
(IMHO). Unfortunately the most useful ones will
require the most work.
1. Per host - These are not readily available. But can
be computed from others. Per container statistics can
be derived from these.
2. Per app - These will be the easiest and most
meaningful to implement at this stage. 
3. Per servlet statistics - I am looking at the
possibility of collecting these statistics in the
current architecture. The current implementation does
not wrap individual servlet in a Gbean. It appears (?)
that we can not implement ServletStats (JSR 77).  
    As a first step towards implementing 2 and later
for 1,  I would like to expose the following
attributes using TomcatContext. 
1. processingTime : The cumulative processing times of
all servlets in this StandardContext

2. startTime - The time this context was started.
3. startupTime - The time (in milliseconds) it took to
start this context.
4. tldScanTime() - 

I need to make changes in TomcatWebAppContext. If it
is OK with Jeff, I can file an issue and start working
on the patch. 
     In the second stage, I would like to expose
aggregated servlet statistics again via TomcatContext.
     In the third stage these can be added up to give
per host/container data.
    This does not solve the immediate problem of not
having tomcat's per server statitics to display on the
console. 

Thanks
Anita 

--- Jan Bartel <janb@mortbay.com> wrote:

> Aaron,
> 
> The package to look at with viewCVS at sourceforge
> is here:
> 
>
http://cvs.sourceforge.net/viewcvs.py/jetty/Jetty/extra/jsr77/src/org/mortbay/jetty/servlet/jsr77/
> 
> The JSR77 stuff is instrumented by inserting an
> o.m.j.s.jsr77.Jsr77Filter
> in front of each servlet defined for a webapp. This
> filter collects
> the JSR77 servlet statistics. The stats are exposed
> to JMX via the 
> o.m.j.s.jsr77.jmx.Jsr77ServletHolderMBean at the
> objectname expected
> by the spec. The mbean interrogates the filter
> instance to get the
> stats. 
> 
> To turn on JSR77 for Jetty, you: 
> 
> 1) add these lines to the jetty.xml config file:
>   <Set name="WebApplicationConfigurationClassNames">
>     <Array type="java.lang.String">
>      
>
<Item>org.mortbay.jetty.plus.PlusWebAppContext$Configuration</Item>
>      
>
<Item>org.mortbay.jetty.servlet.JettyWebConfiguration</Item>
>      
>
<Item>org.mortbay.jetty.servlet.jsr77.Configuration</Item>
>     </Array>
>   </Set>
> 
> 2) run Jetty with jmx enabled:
> java -Dmain.class=org.mortbay.xml.XmlConfiguration
> -DSTART=extra/etc/start-plus.config -jar start.jar
> extra/etc/jettyplus-jmx.xml
> 
> Note that the above documented instructions are
> given for the JettyPlus server,
> but should work with the standard Jetty server so
> long as the jsr77.jar built from the
> $JETTY_HOME/extra/jsr77 package is on Jetty's
> classpath.
> 
> I gather that for the web console, you are looking
> not only at the JSR77
> servlet stats, but want to apply JSR77-type metrics
> to the container-specific
> stats as well? 
> 
> cheers
> Jan
> 
> Aaron Mulder wrote:
> > Jan, is there some sample code for acessing the
> Jetty JSR-77 stats? 
> > If you have some of that plumbing in place
> already, and we can use
> > what's there, that would be great.
> > 
> > Next best might be looking at the code for your
> JSR-77 implementation
> > and seeing how you dig up the numbers so we can
> try to do it the same
> > way.  Is the code in CVSWeb or something where you
> can just give us a
> > URL to the JSR-77 implementation?
> > 
> > Thanks,
> >     Aaron
> > 
> > On 11/30/05, Joe Bohn
> <joe.bohn-ihVZJaRskl1bRRN4PJnoQQ@public.gmane.org>
> wrote:
> > 
> >>I'm afraid we might be out of time for these
> changes in jetty.  I was
> >>hoping to get this JSR77-like server performance
> mgmt completed and
> >>implemented for Jetty yesterday or today.  That
> way we could have a shot
> >>at getting similar functionality implemented for
> tomcat just in time for
> >>v1.  How quickly do you think you could get these
> changes into jetty?
> >>Would they be in a jetty5.x version or would we
> have to move to jetty6?
> >>
> >>WRT the bigger picture .... it is still a big
> unknown if we can get
> >>similar information from tomcat.  Several folks
> have provided some hints
> >>here but I still can't find similar statistics
> available from within
> >>tomcat itself. So even if we could get this today
> for jetty, it might
> >>not be something we could implement for tomcat by
> v1.
> >>
> >>The bigger issue is this:
> >>1. The web console has this statistics view for
> jetty but it is
> >>hard-coded in the portlet itself for jetty alone.
> >>2. We'd like to provide equivalent capabilities
> for jetty and tomcat in
> >>the console.
> >>3. This requires a common management interface for
> the console to use
> >>that can be implemented by both jetty and tomcat.
> Aaron began creating
> >>this JSR77-like style stats management. I've been
> completing it and
> >>working on the jetty implementation with the goal
> to not lose function
> >>from what was already available for jetty in the
> console.
> >>4. We have to create the tomcat statistics
> management implementation
> >>that is conformant to the new structure.
> >>
> >>I'm currently at about 90% of #3 above with the
> issues mentioned in my
> >>original post on this thread.
> >>
> >>We could either:
> >>A. Leave well enough alone for v1 and deliver the
> existing function for
> >>jetty but not tomcat.
> >>B. Implement the new structure and partial Jetty
> implementation.  This
> >>would be slightly less information than we
> currently display to the user
> >>  but would get us on a better path.  We could
> include the tomcat
> >>version if time and capability of tomcat permit.
> >>C. Remove the web server statistics portlet
> entirely from the console
> >>for v1.
> >>
> >>Opinions?  Aaron, IIUC you wanted me to continue
> to pursue this for v1
> >>based upon your response to my earlier post.  Is
> that still your opinion?
> >>
>
>>http://mail-archives.apache.org/mod_mbox/geronimo-dev/200511.mbox/%3c4384806B.3040303-ihVZJaRskl1bRRN4PJnoQQ@public.gmane.org%3e
> >>
> >>Joe
> >>
> >>Jan Bartel wrote:
> >>
> >>>Joe,
> >>>
> >>>When do you need these statistics by?
> >>>We could certainly add methods like:
> >>>
> >>>getConnectionsDuration()
> >>>getConnectionsRequests()
> >>>getRequestsDuration()
> >>>
> >>>which would return an ever-increasing counter,
> and then you
> >>>would be able to infer the averages by using the
> getStatsOnMs()
> >>>method. That would be more in line with JSR77
> type stats for your
> >>>purposes I think.
> >>>
> >>>For Jetty6 we will be following more of the JSR77
> style stats
> >>>gathering. Your feedback on this would be useful
> so we can
> >>>ensure that Jetty6 slurps into Geronimo with
> minimum fuss.
> >>>
> >>>cheers
> >>>Jan
> >>>
> >>>Joe Bohn wrote:
> >>>
> >>>
> >>>>Jan,
> >>>>
> >>>>Thanks for the information and the offer of
> help.
> >>>>
> >>>>I'm not familiar with either Jetty's raw JMX
> stats or Jetty's JSR77
> >>>>implementation but I don't think I'm referring
> to either.
> >>>>
> >>>>What Aaron and I are trying to do is a
> JSR77-like implementation to
> >>>>deliver statistic information about the web
> container itself.
> >>>>
> >>>>The Web Console (in the Web Server portlet) is
> currently getting this
> >>>>type of information from
> org.mortbay.jetty.Server extension of
> >>>>org.mortbay.http.HttpServer.  The stats are
> things 
=== message truncated ===



	
		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com

Mime
View raw message