geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Genender <jgenen...@apache.org>
Subject Re: Statistics Management and Jetty/Tomcat
Date Thu, 01 Dec 2005 15:45:44 GMT


anita kulshreshtha wrote:
>      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. 

By all means, please do ;-)

>      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