Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
<== Date ==> <== Thread ==>

Subject: Re: log message filter in Asyn
From: Benjamin Franksen <benjamin.franksen@helmholtz-berlin.de>
To: <tech-talk@aps.anl.gov>
Date: Wed, 18 Apr 2012 16:04:34 +0200
On Wednesday, April 18, 2012, matthew.pearson@diamond.ac.uk wrote:
> > One simple idea would be to add a bit to the asynTrace flags,
> > ASYN_TRACE_NOREPEATS.  The asynTrace facility could remember the
> > previous error message for a particular pasynUser, and if the next one
> > is the same (except for the time stamp) then the message would not be
> > output.
> 
> The drivers would then need to decide when to reset that flag, to print
> the message again. For example, if a comms error was resolved, but
> re-occurred again (say, an hour later). You would want a new message in
> that case.
> 
> Seems like, in general, people wouldn't mind this functionality in the
> errlog layer. Perhaps as Nick suggested as a library that implemented
> the same interface, and was plugged in somehow. Or, could modify errlog
> by adding a function call in each function, that checks the message and
> rejects or accepts it.

Errlog is /not/ the right place to ensure error messages are issued in a 
sensible way. Generic filtering of messages is too weak, it cannot know 
which messages are important and which are not. It cannot decide which 
errors are merely consequences of something at a lower level going wrong. It 
is also very inefficient to filter messages that should not be issued in the 
first place.

It is the driver that knows whether a port is disconnected. It can and 
should report this exactly once. It can and should report, again only once, 
when the port is connected again. Device support should /not/ issue an error 
message if a lower level (i.e. driver) indicates that it already did so.

Note I am not talking about special debugging support. This is for normal 
operation, where you do /not/ want log files to increase to Gigabytes in a 
few days, simply because someone pulled a plug or forgot to switch on some 
seldom looked at device after maintenance.

Cheers
Ben

Attachment: signature.asc
Description: This is a digitally signed message part.


Replies:
RE: log message filter in Asyn matthew.pearson
References:
log message filter in Asyn matthew.pearson
RE: log message filter in Asyn Mark Rivers
RE: log message filter in Asyn matthew.pearson

Navigate by Date:
Prev: CSS Training at EPICS meeting next week: Agenda, what to prepare Kasemir, Kay
Next: RE: log message filter in Asyn matthew.pearson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
Navigate by Thread:
Prev: RE: log message filter in Asyn Mark Rivers
Next: RE: log message filter in Asyn matthew.pearson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·