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]

Reply via email to