![]() |
ATLAS Offline Software
|
MessageSvc used by the HLT applications. More...
#include <TrigMessageSvc.h>
Classes | |
| struct | MsgAry |
| Private helper class to keep the count of messages of a type (MSG::LEVEL). More... | |
Public Types | |
| typedef std::map< std::string, int, std::less<> > | ThresholdMap |
Public Member Functions | |
| TrigMessageSvc (const std::string &name, ISvcLocator *svcloc) | |
| virtual StatusCode | reinitialize () override |
| virtual StatusCode | initialize () override |
| virtual StatusCode | start () override |
| virtual StatusCode | stop () override |
| virtual StatusCode | finalize () override |
| virtual void | handle (const Incident &incident) override |
| virtual void | reportMessage (const Message &message) override |
| virtual void | reportMessage (const Message &msg, int outputLevel) override |
| virtual void | reportMessage (std::string source, int type, std::string message) override |
| virtual std::ostream *defaultStream | ATLAS_NOT_CONST_THREAD_SAFE () const override |
| virtual void | setDefaultStream (std::ostream *stream) override |
| virtual int | outputLevel () const override |
| virtual int | outputLevel (std::string_view source) const override |
| virtual void | setOutputLevel (int new_level) override |
| virtual void | setOutputLevel (std::string_view source, int new_level) override |
| virtual int | messageCount (MSG::Level logLevel) const override |
| virtual bool | useColor () const override |
| virtual std::string | getLogColor (int) const override |
| virtual void | reportMessage (const StatusCode &, std::string_view) override |
| Not supported by this implementation. | |
| virtual void | insertMessage (const StatusCode &, Message) override |
| virtual void | eraseMessage () override |
| virtual void | eraseMessage (const StatusCode &) override |
| virtual void | eraseMessage (const StatusCode &, const Message &) override |
| virtual void | insertStream (int, std::string, std::ostream *) override |
| virtual void | eraseStream () override |
| virtual void | eraseStream (int) override |
| virtual void | eraseStream (int, std::ostream *) override |
| virtual void | eraseStream (std::ostream *) override |
Private Member Functions | |
| void | setupLimits (Gaudi::Details::PropertyBase &prop) |
| void | setupThreshold (Gaudi::Details::PropertyBase &prop) |
| bool | passErsFilter (const std::string &source, const std::vector< std::string > &filter) const |
| bool | passErsLimit (const Message &msg) |
| void | i_reportMessage (const Message &msg, int outputLevel) |
| Internal implementation of reportMessage(const Message&,int) without lock. | |
| void | i_reportERS (const Message &msg) const |
| Report message to online messaging system (ERS) | |
| void | asyncReporting () |
| void | bookHistograms () |
Private Attributes | |
| Gaudi::Property< std::string > | m_defaultFormat |
| Gaudi::Property< std::string > | m_ersFormat |
| Gaudi::Property< std::string > | m_defaultTimeFormat |
| Gaudi::Property< bool > | m_stats {this, "showStats", false, "Show message statistics"} |
| Gaudi::Property< unsigned int > | m_statLevel |
| Gaudi::Property< unsigned int > | m_publishLevel |
| Gaudi::Property< unsigned int > | m_eventIDLevel |
| Gaudi::Property< bool > | m_color |
| Gaudi::Property< bool > | m_suppress {this, "enableSuppression", false, "Enable message suppression"} |
| Gaudi::Property< bool > | m_suppressRunningOnly |
| std::array< Gaudi::Property< std::vector< std::string > >, MSG::NUM_LEVELS > | m_thresholdProp |
| std::array< Gaudi::Property< int >, MSG::NUM_LEVELS > | m_msgLimit |
| std::array< Gaudi::Property< std::vector< std::string > >, MSG::NUM_LEVELS > | m_useERS |
| Special properties to control output to ERS of individual sources. | |
| Gaudi::Property< int > | m_ersEventLimit |
| std::ostream * | m_defaultStream = &std::cout |
| Pointer to the output stream. | |
| ThresholdMap | m_thresholdMap |
| Output level threshold map. | |
| std::map< std::string, MsgAry > | m_sourceMap |
| counts per source | |
| std::array< int, MSG::NUM_LEVELS > | m_msgCount {} |
| counts per level | |
| std::map< size_t, unsigned int > | m_msgHashCount |
| counts per message hash | |
| std::unordered_map< EventContext::ContextID_t, std::pair< EventContext::ContextEvt_t, MsgAry > > | m_slotMsgCount |
| counts per slot and level | |
| bool | m_doPublish {false} |
| are we publishing message statistics? | |
| bool | m_doSuppress {false} |
| is suppression currently enabled? | |
| TH1I * | m_msgCountHist {nullptr} |
| Message counting per level histogram. | |
| TH2I * | m_msgCountSrcHist {nullptr} |
| Message counting per message source. | |
| std::recursive_mutex | m_thresholdMapMutex |
| bool | m_asyncReporting {false} |
| ( | |
| std::thread | m_thread |
| Thread for asynchronous reporting. | |
| tbb::concurrent_bounded_queue< std::function< void()> > | m_messageActionsQueue |
MessageSvc used by the HLT applications.
This MessageSvc implementation it used by the HLT applications. It has some additional features compared to the default Gaudi MessageSvc. Most notably the forwarding of messages to the TDAQ ERS message system.
The message suppression is configured with the following parameters:
| <level>Limit | = 0: no message suppression for <level> |
| <level>Limit | = N > 0: suppress messages after N messages (per source) |
| <level>Limit | = -N < 0: use logarithmic suppression after N messages (per message) |
Note, that the logarithmic suppression works on a per-message basis (ignoring any digits in the message).
Definition at line 56 of file TrigMessageSvc.h.
| typedef std::map<std::string, int, std::less<> > TrigMessageSvc::ThresholdMap |
Definition at line 58 of file TrigMessageSvc.h.
| TrigMessageSvc::TrigMessageSvc | ( | const std::string & | name, |
| ISvcLocator * | svcloc ) |
Definition at line 38 of file TrigMessageSvc.cxx.
|
private |
Definition at line 269 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 72 of file TrigMessageSvc.h.
|
private |
Definition at line 114 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 94 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 95 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 96 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 98 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 99 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 100 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 101 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 207 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 89 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 106 of file TrigMessageSvc.cxx.
|
private |
Report message to online messaging system (ERS)
Definition at line 375 of file TrigMessageSvc.cxx.
|
private |
Internal implementation of reportMessage(const Message&,int) without lock.
Definition at line 283 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 54 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 93 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 97 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 460 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 430 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 435 of file TrigMessageSvc.cxx.
|
private |
Definition at line 465 of file TrigMessageSvc.cxx.
|
private |
Definition at line 481 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 76 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 420 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 257 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Not supported by this implementation.
Definition at line 92 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 425 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 77 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 442 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 447 of file TrigMessageSvc.cxx.
|
private |
Definition at line 147 of file TrigMessageSvc.cxx.
|
private |
Definition at line 174 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 84 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 92 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 88 of file TrigMessageSvc.h.
|
private |
(
Definition at line 196 of file TrigMessageSvc.h.
|
private |
Definition at line 121 of file TrigMessageSvc.h.
|
private |
Definition at line 108 of file TrigMessageSvc.h.
|
private |
Pointer to the output stream.
Definition at line 171 of file TrigMessageSvc.h.
|
private |
Definition at line 112 of file TrigMessageSvc.h.
|
private |
|
private |
|
private |
Definition at line 165 of file TrigMessageSvc.h.
|
private |
Definition at line 110 of file TrigMessageSvc.h.
|
private |
Definition at line 119 of file TrigMessageSvc.h.
|
private |
Definition at line 198 of file TrigMessageSvc.h.
|
private |
|
private |
Message counting per level histogram.
Definition at line 191 of file TrigMessageSvc.h.
|
private |
|
private |
counts per message hash
Definition at line 184 of file TrigMessageSvc.h.
|
private |
Definition at line 137 of file TrigMessageSvc.h.
|
private |
Definition at line 117 of file TrigMessageSvc.h.
|
private |
counts per slot and level
Definition at line 186 of file TrigMessageSvc.h.
|
private |
counts per source
Definition at line 182 of file TrigMessageSvc.h.
|
private |
Definition at line 115 of file TrigMessageSvc.h.
|
private |
Definition at line 114 of file TrigMessageSvc.h.
|
private |
Definition at line 123 of file TrigMessageSvc.h.
|
private |
Definition at line 124 of file TrigMessageSvc.h.
|
private |
Thread for asynchronous reporting.
Definition at line 197 of file TrigMessageSvc.h.
|
private |
Output level threshold map.
Definition at line 172 of file TrigMessageSvc.h.
|
mutableprivate |
Definition at line 194 of file TrigMessageSvc.h.
|
private |
Definition at line 127 of file TrigMessageSvc.h.
|
private |
Special properties to control output to ERS of individual sources.
The syntax is as follows (these are NOT regular expressions):
useErsFatal = [] # forward none (default) useErsFatal = [''] # forward all useErsFatal = ['CoreDumpSvc','MyAlg'] # forward these sources useErsFatal = ['','!MyAlg'] # forward all except MyAlg
Definition at line 155 of file TrigMessageSvc.h.