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 <[EMAIL PROTECTED]> 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
<[EMAIL PROTECTED]>
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/[EMAIL
PROTECTED]
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