Damon E. Sorrentino wrote:
One thing WebSphere 5.0 supports is a diagnostic tracing service that
administrators and developers can enable or disable at the component
level. For example, WebSphere has an HTTP_Transport component with
several public classes:
com.ibm.ws.http.ChunkedInputStream
com.ibm.ws.http.ContentLengthInputStream
com.ibm.ws.http.HttpConnection
com.ibm.ws.http.HttpRequest
com.ibm.ws.http.HttpResponse
.
.
.
I'm not sure if this is necessarily related, but Avalon has an API available
to instrument your code. It is quite configurable and works pretty well.
THe instrument APIs provide (1) a way to extend your code to expose runtime
values, (2) a way to publish those (inside the same VM, or even outside if
desired), and (3) a way to view the instrumentation. The client is a Java
Swing based app that provides some really nice meters.
Another benefit besides just seeing the runtime state of your server is
also being able to tell the VM to do a garbage collection cycle. The client
runs in its own JVM, and uses AltRMI to talk to the container code.
Best benefit of all:
Regardless of whether you choose to use Avalon for your container needs,
you can still use the instrumentation code. The Avalon containers make it
a little easier because they are already integrated, but it is still an
extension.
Its pretty cool stuff, and it is pretty useful. Leif Mortenson is the
brainstormer behind it, and I have found him to be a rocket scientist
in regards to Java memory management. Not even the GUI client leaks
memory!
You can turn on and off the types of instruments you want to watch.
The administrator or developer can then enable certain types of tracing
within each class, i.e. entry/exit, event, and debug traces, through
their administration console web application. You can enable any
combination of these trace types.
This type of functionality proves useful when trying to run different
J2EE applications inside multiple application servers.
-damon
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin