Guillaume,

How about the correlation id provide a good starting point for generating the error report? If we could include all messages in the in-memory auditor that belong to the same message flow, being able to see the original request, all transformations and the failing message exchange in a single report would already be a huge step forward for troubleshooting, wouldn't it?
Gert

Guillaume Nodet wrote:
It make lots of sense.  I really like your idea of a command that
generate an error report.  This could prove tremendously usefull if
implemented correctly:  I suppose the tricky part will be to determine
what information is usefull and should be included.
The audit is related to Bruce comments too: once you have some
exchanges in memory, being able to easily filter and display those
could be very valuable, provided we can come was an easy enough syntax
for filtering them.

On Tue, Mar 11, 2008 at 1:20 PM, Gert Vanthienen
<[EMAIL PROTECTED]> wrote:
Guillaume,

 Personally, I find myself using the logging to track down issues most of
 the time as well.  Very rarely, I have to rely on remote debugging to
 really see the thing going astray step by step.  If we would really want
 to make this debug flow useful, it would require quite a few features
 and I'm not sure this is the right time to invest that amount of time --
 there still is a lot of other work to be done with more benefit for the
 users in my mind.

 On the other hand, I think we could invest some time in improving the
 possibilities for logging/auditing problematic message exchanges (or
 entire 'flows' by looking at the correlation id).  I'm thinking of
 - console commands to enable on-the-fly auditing (based on message
 properties, exceptions being thrown, ...) to isolate the message
 exchanges that have gone wrong
 - a command to create an error report (with useful information such as
 thread dumps, errors in messages, a subset of the log messages belonging
 to the same message flow, ...) -- could also be useful if we want them
 to provide more information on the mailing list

 Gert



 Guillaume Nodet wrote:
 > I've created the following JIRA issue for ServiceMix NMR.
 > Do you think it's worth doing it ?  Would it help people finding
 > problems ?  I usually use the log file, but having something more
 > dynamic may be helpful.
 >
 > On Tue, Mar 11, 2008 at 10:36 AM, Guillaume Nodet (JIRA)
 > <[EMAIL PROTECTED]> wrote:
 >
 >> Debugging flows
 >>  ---------------
 >>
 >>                  Key: SMX4NMR-21
 >>                  URL: https://issues.apache.org/activemq/browse/SMX4NMR-21
 >>              Project: ServiceMix NMR
 >>           Issue Type: New Feature
 >>             Reporter: Guillaume Nodet
 >>
 >>
 >>  Create a set of console commands / OSGi service / NMR listeners to be able 
to:
 >>   * add / remove / disable breakpoints (with conditional evaluation on 
exchanges)
 >>   * list paused exchanges
 >>   * inspect / modify a paused exchange
 >>   * resume execution for a exchange
 >>
 >>  A breakpoint is basically a condition that filters an exchange.  If the 
filter match, the breakpoint is activated and the flow for the given exchange is 
paused.   Simple breakpoints include:
 >>    * exchanges originated from a given endpoint
 >>    * exchanges targeted at a given endpoint
 >>    * exchanges in an ERROR status
 >>    * ...
 >>
 >>  Using an ExchangeListener, it should be easy to intercept all the 
exchanges.  I think the problem is that currently, the only way is to suspend the 
calling thread and wait for a signal that would be set by a command when resuming an 
exchange.  This is not really scalable.   Maybe using a flow is a better option, but 
I think it would be more intrusive, so that entering / exiting debug mode may not be 
easy.
 >>
 >>  --
 >>  This message is automatically generated by JIRA.
 >>  -
 >>  You can reply to this email to add a comment to the issue online.
 >>
 >>
 >>
 >
 >
 >
 >






Reply via email to