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: <matthew.pearson@diamond.ac.uk>
To: <rivers@cars.uchicago.edu>, <Ralph.Lange@gmx.de>, <tech-talk@aps.anl.gov>
Date: Wed, 18 Apr 2012 13:44:31 +0000
Hi,

> 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.

Cheers,
Matt


> This would make it easy for asyn drivers to adhere to the Dalesio rule
> with no changes to the driver at all, just a change in the startup
> script.
> 
> Mark
> 
> ________________________________________
> From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] on
> behalf of Ralph Lange [Ralph.Lange@gmx.de]
> Sent: Wednesday, April 18, 2012 3:38 AM
> To: tech-talk@aps.anl.gov
> Subject: Re: log message filter in Asyn
> 
> Hm...
> 
> so it is not really the same issue, as in Mark's case (I assume)
> procServ is doing the logging while in your case (I assume) console is
> doing it.
> Which shows adding the filter to procServ or console is a bad idea, as
> it would have to be reimplemented for every client people use to access
> their IOCs.
> 
> Eric is safe when holding to his opinion, as there is no log server
> involved in both cases.
> 
> Maybe the errlogPrintf layer should define a plugin API for such
> filters, and allow adding filtering either general (for all loggers and
> the console), or for each configured logger. (To allow no-filtering
> connections to log servers that are ready to take all the crap.)
> 
> If I remember correctly, the Dalesio test (R) for drivers included
> pulling and reconnecting the device cable from the IOC, and demanded
> that the driver log each of these actions with exactly one log message,
> and no secondary resulting messages inbetween.
> With all due respect, Asyn would fail this badly.
> 
> Cheers,
> ~Ralph
> 
> 
> On 17.04.2012 19:27, matthew.pearson@diamond.ac.uk wrote:
> > Hi,
> >
> > We have the same issue that Mark described, in that we're using
> procServ along with conserver to log from our IOCs. I agree that
> filtering should be part of any log server. But I think there's a place
> for it in clients too. For example, we already do rate limiting of
> alarms from records using things like hysteresis fields.
> >
> > Yes, Asyn itself probably isn't the best place for it though.
> >
> > Cheers,
> > Matt
> >
> > ________________________________________
> > From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov]
> on behalf of Eric Norum [wenorum@lbl.gov]
> > Sent: 17 April 2012 16:39
> > To: tech-talk@aps.anl.gov Talk
> > Subject: Re: log message filter in Asyn
> >
> > On Apr 17, 2012, at 8:26 AM, Mark Rivers wrote:
> >
> >> You can also turn off asynTrace messages for a particular device
> with
> >>
> >> asynSetTraceMask(port, addr, 0)
> >>
> >> But I see the utility of what Matt is proposing.  We use procServ to
> run our IOCs, both soft IOCs and vxWorks IOCs.  On vxWorks the procServ
> is controlling a telnet session to an Ethernet terminal server, which
> is connected to the vxWorks console port.  For logging we just use the
> log file capability of procServ, not a special logging program.  If a
> device becomes unavailable the log file can quickly grow very large
> with asynTrace error messages.
> >>
> >> Of course we could manually set the asynTrace mask to 0, as shown
> above.  But it would be nice to have the capability that Matt proposes,
> to automatically reduce the number of messages in the log file if they
> are all just repeats.
> > Agreed, but I'm holding to my opinion that this capability belongs in
> the log server, not in all the log clients.   It certainly does not
> belong in the ASYN layer.   In the errlogPrintf layer, perhaps, but
> really this belongs in the log server.
> >
> > --
> > Eric Norum
> > eric@norum.ca
> >
> >
> >
> >
> >
> >
> 


-- 
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. 
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
 





Replies:
RE: log message filter in Asyn Mark Rivers
Re: log message filter in Asyn Benjamin Franksen
References:
log message filter in Asyn matthew.pearson
Re: log message filter in Asyn Andrew Johnson
RE: log message filter in Asyn Mark Rivers
Re: log message filter in Asyn Eric Norum
RE: log message filter in Asyn matthew.pearson
Re: log message filter in Asyn Ralph Lange
RE: log message filter in Asyn Mark Rivers

Navigate by Date:
Prev: RE: log message filter in Asyn Mark Rivers
Next: RE: log message filter in Asyn Mark Rivers
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 Mark Rivers
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 ·