Hi,
Please see my comments inline.
Thanks,
Raymond
----- Original Message -----
From: "Jean-Sebastien Delfino" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Monday, April 23, 2007 10:48 AM
Subject: Re: Monitoring, logging, and exceptions (was: Re: Notifcation of
missing extensions)
[snip]
Raymond Feng wrote:
Hi, Simon.
[snip]
On the positive side this seems like an approach we could use that
separates logging/tracing from the application code. However you still
need
the aspectj runtime to weave the annotation based aspects into the
application classfiles right. I am attracted by doing tracing with
aspectj.
So that we can turn it off completely when we are done. However I
support
using a more standard approach for logging more highlevel and persistent
events which we might want to plug into other monitoring tools.
The aspectj now supports load-time weaving in a standard way supported by
Java 5. It would be nice to support tracing on demand with this
capability.
I agree with you that we need to support high-level monitoring as well.
For example, I'm interested in seeing the component interactions. One way
we can achieve that is to add a monitoring interceptor.
Raymond,
I agree that we need high-level monitoring, but it shouldn't be limited to
interactions handled by interceptors. For example, we should be able to
monitor when the runtime starts, stops, when .composite files are loaded,
component instances get created and recycled, wires are matched etc...
It seems to me that we could use the EventManagement in the core to handle
these in the event/listener pattern.
I tried the aspectj sample from your sandbox and I have a few questions:
Is it possible to trace the value of the parameters?
Yes, we can access the method as well as the input/output.
Is it possible to trace when an exception is thrown?
Yes. The AfterThrowing will do.
Would it be possible to use slf4j from the tracing aspect?
Yes, the aspect implementation can be any java code.
What did you mean by supporting tracing on demand using the load time
weaver? Doesn't load time weaving going to happen at the beginning when
classes are loaded??
I was referring to the fact that the apsectj-based tracing can be enabled or
disabled simply by turning on/off the JVM agent. The annotation-based aspect
doesn't require a compiler for the aspectj and it's not invasive.
Thanks.
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]