MonitorChainAlgorithm Node1 MonitorChainAlgorithm + MonitorChainAlgorithm() + MonitorChainAlgorithm() + ~MonitorChainAlgorithm() + operator=() + MonitorChainAlgorithm() + newEvent() + newCounter() Node2 MonitorBase # m_msgStream + MonitorBase() + MonitorBase() + ~MonitorBase() + operator=() + MonitorBase() + getName() + getParent() + bookGetPointer() + counterExists() + getCounter() + newEvent() + endEvent() + msg() + msg() + msgLvl() # newCounter() Node2->Node1 Node3 MonitoredRange + MonitoredRange() + MonitoredRange() + ~MonitoredRange() + operator=() + MonitoredRange() + getName() + getParent() + bookGetPointer() + getMonitors() + addMonitor() + newEvent() Node3->Node2 -m_parent Node4 TH1 Node4->Node3 -m_cachedLifetimeHistPtr Node5 std::set< uint32_t > + keys Node5->Node3 -m_seenLB Node6 TrigCostAnalysis + m_singleTimeRange + m_singleTimeRangeName + m_additionalHashMap + m_additionalHashList + m_TimeRangeLengthLB + m_maxTimeRange + m_doMonitorAlgorithm + m_doMonitorAlgorithmClass + m_doMonitorGlobal + m_doMonitorThreadOccupancy and 11 more... + TrigCostAnalysis() + ~TrigCostAnalysis() + initialize() + start() + execute() + finalize() + bookGetPointer() - checkDoFullEventDump() - getRange() - dumpEvent() - registerMonitors() - getWeight() - getOnlineSlot() - checkUpdateMaxView() - writeMetadata() Node6->Node3 -m_parent Node20 std::string Node20->Node2 -m_name Node20->Node3 -m_name Node63 std::unordered_map < std::string, std:: unique_ptr< CounterBase > > Node20->Node63 +keys Node61 std::set< std::unique _ptr< MonitorBase > > Node61->Node3 -m_monitors Node63->Node2 #m_counters Node64 std::unique_ptr< Counter Base > + operator->() Node64->Node63 +elements