Retrieves and monitors all non-success status codes returned by algorithms.
More...
#include <TrigErrorMonTool.h>
|
| TrigErrorMonTool (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | finalize () override |
|
virtual std::unordered_map< std::string_view, StatusCode > | algExecErrors (const EventContext &eventContext) const override |
| Produce a subset of IAlgExecStateSvc::algExecStates with only non-success StatusCodes and fill relevant histograms. More...
|
|
|
ServiceHandle< IAlgExecStateSvc > | m_aess {this, "AlgExecStateSvc", "AlgExecStateSvc"} |
|
ServiceHandle< ITrigCostSvc > | m_trigCostSvcHandle {this, "TrigCostSvc", ""} |
|
ToolHandle< GenericMonitoringTool > | m_monTool {this, "MonTool", "", "Monitoring tool"} |
|
ToolHandle< TrigCompositeUtils::AlgToChainTool > | m_algToChainTool {this, "AlgToChainTool", "", "Tool to retrieve chains for algorithm"} |
|
Retrieves and monitors all non-success status codes returned by algorithms.
Definition at line 20 of file TrigErrorMonTool.h.
◆ TrigErrorMonTool()
TrigErrorMonTool::TrigErrorMonTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ algExecErrors()
std::unordered_map< std::string_view, StatusCode > TrigErrorMonTool::algExecErrors |
( |
const EventContext & |
eventContext | ) |
const |
|
overridevirtual |
Produce a subset of IAlgExecStateSvc::algExecStates with only non-success StatusCodes and fill relevant histograms.
Definition at line 40 of file TrigErrorMonTool.cxx.
41 std::unordered_map<std::string_view, StatusCode> algErrors;
42 bool wasTimeout =
false;
43 for (
const auto& [
key, state] :
m_aess->algExecStates(eventContext)) {
46 ATH_MSG_DEBUG(
"Algorithm " <<
key <<
" returned StatusCode " << state.execStatus().message()
47 <<
" in event " << eventContext.eventID());
48 algErrors[
key.str()] = state.execStatus();
54 std::set<std::string> chainNames =
m_algToChainTool->getActiveChainsForAlg(
key.str(), eventContext);
56 std::vector<std::string> chainNamesVec(chainNames.begin(), chainNames.end());
58 auto monErrorChainNames= Monitored::Collection<std::vector<std::string>>(
"ErrorChainName", chainNamesVec);
70 std::string timeoutReport;
71 if (
m_trigCostSvcHandle->generateTimeoutReport(eventContext, timeoutReport) == StatusCode::FAILURE){
74 else if (timeoutReport.empty()){
75 ATH_MSG_INFO(
"CostMonitoring not active in this event. A list of slow algorithms is not available.");
◆ finalize()
StatusCode TrigErrorMonTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode TrigErrorMonTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ m_aess
ServiceHandle<IAlgExecStateSvc> TrigErrorMonTool::m_aess {this, "AlgExecStateSvc", "AlgExecStateSvc"} |
|
private |
◆ m_algToChainTool
◆ m_monTool
◆ m_trigCostSvcHandle
The documentation for this class was generated from the following files: