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
0007
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 }
0060 #endif