![]() |
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 57 of file TrigMessageSvc.h.
| typedef std::map<std::string, int, std::less<> > TrigMessageSvc::ThresholdMap |
Definition at line 59 of file TrigMessageSvc.h.
| TrigMessageSvc::TrigMessageSvc | ( | const std::string & | name, |
| ISvcLocator * | svcloc ) |
Definition at line 38 of file TrigMessageSvc.cxx.
|
private |
Definition at line 270 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 73 of file TrigMessageSvc.h.
|
private |
Definition at line 114 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 96 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 97 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 98 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 100 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 101 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 102 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 103 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 207 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 90 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 106 of file TrigMessageSvc.cxx.
|
private |
Report message to online messaging system (ERS)
Definition at line 376 of file TrigMessageSvc.cxx.
|
private |
Internal implementation of reportMessage(const Message&,int) without lock.
Definition at line 284 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 54 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 95 of file TrigMessageSvc.h.
|
inlineoverridevirtual |
Definition at line 99 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 461 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 431 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 436 of file TrigMessageSvc.cxx.
|
private |
Definition at line 466 of file TrigMessageSvc.cxx.
|
private |
Definition at line 482 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 76 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 421 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 257 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Not supported by this implementation.
Definition at line 93 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 426 of file TrigMessageSvc.cxx.
|
inlineoverridevirtual |
Definition at line 78 of file TrigMessageSvc.h.
|
overridevirtual |
Definition at line 443 of file TrigMessageSvc.cxx.
|
overridevirtual |
Definition at line 448 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 89 of file TrigMessageSvc.h.
|
private |
(
Definition at line 198 of file TrigMessageSvc.h.
|
private |
Definition at line 123 of file TrigMessageSvc.h.
|
private |
Definition at line 110 of file TrigMessageSvc.h.
|
private |
Pointer to the output stream.
Definition at line 173 of file TrigMessageSvc.h.
|
private |
Definition at line 114 of file TrigMessageSvc.h.
|
private |
|
private |
|
private |
Definition at line 167 of file TrigMessageSvc.h.
|
private |
Definition at line 112 of file TrigMessageSvc.h.
|
private |
Definition at line 121 of file TrigMessageSvc.h.
|
private |
Definition at line 200 of file TrigMessageSvc.h.
|
private |
|
private |
Message counting per level histogram.
Definition at line 193 of file TrigMessageSvc.h.
|
private |
|
private |
counts per message hash
Definition at line 186 of file TrigMessageSvc.h.
|
private |
Definition at line 139 of file TrigMessageSvc.h.
|
private |
Definition at line 119 of file TrigMessageSvc.h.
|
private |
counts per slot and level
Definition at line 188 of file TrigMessageSvc.h.
|
private |
counts per source
Definition at line 184 of file TrigMessageSvc.h.
|
private |
Definition at line 117 of file TrigMessageSvc.h.
|
private |
Definition at line 116 of file TrigMessageSvc.h.
|
private |
Definition at line 125 of file TrigMessageSvc.h.
|
private |
Definition at line 126 of file TrigMessageSvc.h.
|
private |
Thread for asynchronous reporting.
Definition at line 199 of file TrigMessageSvc.h.
|
private |
Output level threshold map.
Definition at line 174 of file TrigMessageSvc.h.
|
mutableprivate |
Definition at line 196 of file TrigMessageSvc.h.
|
private |
Definition at line 129 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 157 of file TrigMessageSvc.h.