Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:16

0001 #ifndef FWCore_Framework_TriggerTimingReport_h
0002 #define FWCore_Framework_TriggerTimingReport_h
0003 
0004 /*----------------------------------------------------------------------
0005 
0006 TriggerTimingReport: This struct contains all the information relevant to
0007 reporting on the timing of the trigger.
0008 
0009 
0010 ----------------------------------------------------------------------*/
0011 
0012 #include <string>
0013 #include <vector>
0014 
0015 namespace edm {
0016 
0017   struct EventTimingSummary {
0018     int totalEvents = 0;
0019     double cpuTime = 0.;
0020     double realTime = 0.;
0021     double sumStreamRealTime = 0.;
0022   };
0023 
0024   struct ModuleInPathTimingSummary {
0025     int timesVisited = 0;
0026     double realTime = 0.;
0027 
0028     std::string moduleLabel;
0029   };
0030 
0031   struct PathTimingSummary {
0032     int bitPosition = 0;
0033     int timesRun = 0;
0034     double realTime = 0.;
0035 
0036     std::string name;
0037     std::vector<ModuleInPathTimingSummary> moduleInPathSummaries;
0038   };
0039 
0040   struct WorkerTimingSummary {
0041     int timesVisited = 0;
0042     int timesRun = 0;
0043     double realTime = 0.;
0044 
0045     std::string moduleLabel;
0046   };
0047 
0048   inline bool operator<(WorkerTimingSummary const& a, WorkerTimingSummary const& b) {
0049     return a.moduleLabel < b.moduleLabel;
0050   }
0051 
0052   struct TriggerTimingReport {
0053     EventTimingSummary eventSummary;
0054     std::vector<PathTimingSummary> trigPathSummaries;
0055     std::vector<PathTimingSummary> endPathSummaries;
0056     std::vector<WorkerTimingSummary> workerSummaries;
0057   };
0058 
0059 }  // namespace edm
0060 #endif