CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Typedefs | Functions
FastTimerService.cc File Reference
#include <cmath>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <limits>
#include <mutex>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <boost/range/irange.hpp>
#include <fmt/printf.h>
#include <nlohmann/json.hpp>
#include "DQMServices/Core/interface/DQMStore.h"
#include "DataFormats/Common/interface/HLTPathStatus.h"
#include "DataFormats/Provenance/interface/EventID.h"
#include "DataFormats/Provenance/interface/ModuleDescription.h"
#include "DataFormats/Provenance/interface/Timestamp.h"
#include "DataFormats/Scalers/interface/LumiScalers.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/LuminosityBlock.h"
#include "FWCore/Framework/interface/TriggerNamesService.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/Utilities/interface/Exception.h"
#include "FWCore/Utilities/interface/StreamID.h"
#include "HLTrigger/Timer/interface/memory_usage.h"
#include "HLTrigger/Timer/interface/processor_model.h"
#include "FastTimerService.h"
#include "FWCore/ServiceRegistry/interface/ServiceMaker.h"

Go to the source code of this file.

Typedefs

using json = nlohmann::json
 

Functions

 dqm_lumisections_range_ (config.getUntrackedParameter< unsigned int >("dqmLumiSectionsRange"))
 
 dqm_module_ranges_ ({config.getUntrackedParameter< double >("dqmModuleTimeRange"), config.getUntrackedParameter< double >("dqmModuleTimeResolution"), config.getUntrackedParameter< double >("dqmModuleMemoryRange"), config.getUntrackedParameter< double >("dqmModuleMemoryResolution")})
 
 dqm_path_ (config.getUntrackedParameter< std::string >("dqmPath"))
 
 dqm_path_ranges_ ({config.getUntrackedParameter< double >("dqmPathTimeRange"), config.getUntrackedParameter< double >("dqmPathTimeResolution"), config.getUntrackedParameter< double >("dqmPathMemoryRange"), config.getUntrackedParameter< double >("dqmPathMemoryResolution")})
 
 highlight_module_psets_ (config.getUntrackedParameter< std::vector< edm::ParameterSet >>("highlightModules"))
 
 highlight_modules_ (highlight_module_psets_.size())
 
static const
edm::ParameterSetDescriptionFillerPluginFactory::PMaker
< edm::DescriptionFillerForServices
< FastTimerService > > 
s_filler__LINE__ ("FastTimerService")
 
static const
edm::serviceregistry::ServicePluginFactory::PMaker
< edm::serviceregistry::ServiceMaker
< FastTimerService > > 
s_maker__LINE__ ("FastTimerService")
 

Typedef Documentation

using json = nlohmann::json

Definition at line 21 of file FastTimerService.cc.

Function Documentation

dqm_lumisections_range_ ( config.getUntrackedParameter< unsigned int >  "dqmLumiSectionsRange")
dqm_module_ranges_ ( {config.getUntrackedParameter< double >("dqmModuleTimeRange"), config.getUntrackedParameter< double >("dqmModuleTimeResolution"), config.getUntrackedParameter< double >("dqmModuleMemoryRange"), config.getUntrackedParameter< double >("dqmModuleMemoryResolution")}  )
dqm_path_ ( config.getUntrackedParameter< std::string >  "dqmPath")
dqm_path_ranges_ ( {config.getUntrackedParameter< double >("dqmPathTimeRange"), config.getUntrackedParameter< double >("dqmPathTimeResolution"), config.getUntrackedParameter< double >("dqmPathMemoryRange"), config.getUntrackedParameter< double >("dqmPathMemoryResolution")}  )
highlight_module_psets_ ( config.getUntrackedParameter< std::vector< edm::ParameterSet >>  "highlightModules")
highlight_modules_ ( highlight_module_psets_.  size())

Definition at line 809 of file FastTimerService.cc.

References FastTimerService::postBeginJob(), FastTimerService::postEndJob(), FastTimerService::postEvent(), FastTimerService::postGlobalEndLumi(), FastTimerService::postGlobalEndRun(), FastTimerService::postModuleEvent(), FastTimerService::postModuleEventAcquire(), FastTimerService::postModuleEventDelayedGet(), FastTimerService::postModuleGlobalBeginLumi(), FastTimerService::postModuleGlobalBeginRun(), FastTimerService::postModuleGlobalEndLumi(), FastTimerService::postModuleGlobalEndRun(), FastTimerService::postModuleStreamBeginLumi(), FastTimerService::postModuleStreamBeginRun(), FastTimerService::postModuleStreamEndLumi(), FastTimerService::postModuleStreamEndRun(), FastTimerService::postPathEvent(), FastTimerService::postSourceEvent(), FastTimerService::postSourceLumi(), FastTimerService::postSourceRun(), FastTimerService::postStreamEndLumi(), FastTimerService::postStreamEndRun(), FastTimerService::preallocate(), FastTimerService::preBeginJob(), FastTimerService::preEvent(), FastTimerService::preGlobalBeginLumi(), FastTimerService::preGlobalBeginRun(), FastTimerService::preModuleEvent(), FastTimerService::preModuleEventAcquire(), FastTimerService::preModuleEventDelayedGet(), FastTimerService::preModuleGlobalBeginLumi(), FastTimerService::preModuleGlobalBeginRun(), FastTimerService::preModuleGlobalEndLumi(), FastTimerService::preModuleGlobalEndRun(), FastTimerService::preModuleStreamBeginLumi(), FastTimerService::preModuleStreamBeginRun(), FastTimerService::preModuleStreamEndLumi(), FastTimerService::preModuleStreamEndRun(), FastTimerService::prePathEvent(), FastTimerService::preSourceConstruction(), FastTimerService::preSourceEvent(), FastTimerService::preSourceLumi(), FastTimerService::preSourceRun(), FastTimerService::preStreamBeginLumi(), and FastTimerService::preStreamBeginRun().

Referenced by FastTimerService::postBeginJob(), FastTimerService::postEvent(), FastTimerService::preGlobalBeginRun(), FastTimerService::printEvent(), and FastTimerService::printSummary().

810 {
811  // start observing when a thread enters or leaves the TBB global thread arena
812  tbb::task_scheduler_observer::observe();
813 
814  // register EDM call backs
815  registry.watchPreallocate(this, &FastTimerService::preallocate);
816  registry.watchPreBeginJob(this, &FastTimerService::preBeginJob);
817  registry.watchPostBeginJob(this, &FastTimerService::postBeginJob);
818  registry.watchPostEndJob(this, &FastTimerService::postEndJob);
819  registry.watchPreGlobalBeginRun(this, &FastTimerService::preGlobalBeginRun);
820  //registry.watchPostGlobalBeginRun( this, & FastTimerService::postGlobalBeginRun );
821  //registry.watchPreGlobalEndRun( this, & FastTimerService::preGlobalEndRun );
822  registry.watchPostGlobalEndRun(this, &FastTimerService::postGlobalEndRun);
823  registry.watchPreStreamBeginRun(this, &FastTimerService::preStreamBeginRun);
824  //registry.watchPostStreamBeginRun( this, & FastTimerService::postStreamBeginRun );
825  //registry.watchPreStreamEndRun( this, & FastTimerService::preStreamEndRun );
826  registry.watchPostStreamEndRun(this, &FastTimerService::postStreamEndRun);
827  registry.watchPreGlobalBeginLumi(this, &FastTimerService::preGlobalBeginLumi);
828  //registry.watchPostGlobalBeginLumi( this, & FastTimerService::postGlobalBeginLumi );
829  //registry.watchPreGlobalEndLumi( this, & FastTimerService::preGlobalEndLumi );
830  registry.watchPostGlobalEndLumi(this, &FastTimerService::postGlobalEndLumi);
831  registry.watchPreStreamBeginLumi(this, &FastTimerService::preStreamBeginLumi);
832  //registry.watchPostStreamBeginLumi( this, & FastTimerService::postStreamBeginLumi );
833  //registry.watchPreStreamEndLumi( this, & FastTimerService::preStreamEndLumi );
834  registry.watchPostStreamEndLumi(this, &FastTimerService::postStreamEndLumi);
835  registry.watchPreEvent(this, &FastTimerService::preEvent);
836  registry.watchPostEvent(this, &FastTimerService::postEvent);
837  registry.watchPrePathEvent(this, &FastTimerService::prePathEvent);
838  registry.watchPostPathEvent(this, &FastTimerService::postPathEvent);
839  registry.watchPreSourceConstruction(this, &FastTimerService::preSourceConstruction);
840  //registry.watchPostSourceConstruction( this, & FastTimerService::postSourceConstruction);
841  registry.watchPreSourceRun(this, &FastTimerService::preSourceRun);
842  registry.watchPostSourceRun(this, &FastTimerService::postSourceRun);
843  registry.watchPreSourceLumi(this, &FastTimerService::preSourceLumi);
844  registry.watchPostSourceLumi(this, &FastTimerService::postSourceLumi);
845  registry.watchPreSourceEvent(this, &FastTimerService::preSourceEvent);
846  registry.watchPostSourceEvent(this, &FastTimerService::postSourceEvent);
847  //registry.watchPreModuleConstruction( this, & FastTimerService::preModuleConstruction);
848  //registry.watchPostModuleConstruction( this, & FastTimerService::postModuleConstruction);
849  //registry.watchPreModuleBeginJob( this, & FastTimerService::preModuleBeginJob );
850  //registry.watchPostModuleBeginJob( this, & FastTimerService::postModuleBeginJob );
851  //registry.watchPreModuleEndJob( this, & FastTimerService::preModuleEndJob );
852  //registry.watchPostModuleEndJob( this, & FastTimerService::postModuleEndJob );
853  //registry.watchPreModuleBeginStream( this, & FastTimerService::preModuleBeginStream );
854  //registry.watchPostModuleBeginStream( this, & FastTimerService::postModuleBeginStream );
855  //registry.watchPreModuleEndStream( this, & FastTimerService::preModuleEndStream );
856  //registry.watchPostModuleEndStream( this, & FastTimerService::postModuleEndStream );
857  registry.watchPreModuleGlobalBeginRun(this, &FastTimerService::preModuleGlobalBeginRun);
858  registry.watchPostModuleGlobalBeginRun(this, &FastTimerService::postModuleGlobalBeginRun);
859  registry.watchPreModuleGlobalEndRun(this, &FastTimerService::preModuleGlobalEndRun);
860  registry.watchPostModuleGlobalEndRun(this, &FastTimerService::postModuleGlobalEndRun);
861  registry.watchPreModuleGlobalBeginLumi(this, &FastTimerService::preModuleGlobalBeginLumi);
862  registry.watchPostModuleGlobalBeginLumi(this, &FastTimerService::postModuleGlobalBeginLumi);
863  registry.watchPreModuleGlobalEndLumi(this, &FastTimerService::preModuleGlobalEndLumi);
864  registry.watchPostModuleGlobalEndLumi(this, &FastTimerService::postModuleGlobalEndLumi);
865  registry.watchPreModuleStreamBeginRun(this, &FastTimerService::preModuleStreamBeginRun);
866  registry.watchPostModuleStreamBeginRun(this, &FastTimerService::postModuleStreamBeginRun);
867  registry.watchPreModuleStreamEndRun(this, &FastTimerService::preModuleStreamEndRun);
868  registry.watchPostModuleStreamEndRun(this, &FastTimerService::postModuleStreamEndRun);
869  registry.watchPreModuleStreamBeginLumi(this, &FastTimerService::preModuleStreamBeginLumi);
870  registry.watchPostModuleStreamBeginLumi(this, &FastTimerService::postModuleStreamBeginLumi);
871  registry.watchPreModuleStreamEndLumi(this, &FastTimerService::preModuleStreamEndLumi);
872  registry.watchPostModuleStreamEndLumi(this, &FastTimerService::postModuleStreamEndLumi);
873  //registry.watchPreModuleEventPrefetching( this, & FastTimerService::preModuleEventPrefetching );
874  //registry.watchPostModuleEventPrefetching( this, & FastTimerService::postModuleEventPrefetching );
875  registry.watchPreModuleEventAcquire(this, &FastTimerService::preModuleEventAcquire);
876  registry.watchPostModuleEventAcquire(this, &FastTimerService::postModuleEventAcquire);
877  registry.watchPreModuleEvent(this, &FastTimerService::preModuleEvent);
878  registry.watchPostModuleEvent(this, &FastTimerService::postModuleEvent);
879  registry.watchPreModuleEventDelayedGet(this, &FastTimerService::preModuleEventDelayedGet);
880  registry.watchPostModuleEventDelayedGet(this, &FastTimerService::postModuleEventDelayedGet);
881  //registry.watchPreEventReadFromSource( this, & FastTimerService::preEventReadFromSource );
882  //registry.watchPostEventReadFromSource( this, & FastTimerService::postEventReadFromSource );
883 }
void preGlobalBeginRun(edm::GlobalContext const &)
void preModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postGlobalEndLumi(edm::GlobalContext const &)
void postStreamEndLumi(edm::StreamContext const &)
void postModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
void preSourceLumi(edm::LuminosityBlockIndex)
void postModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preSourceRun(edm::RunIndex)
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postSourceRun(edm::RunIndex)
void postPathEvent(edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
void preModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void postModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
void preModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postEvent(edm::StreamContext const &)
void postGlobalEndRun(edm::GlobalContext const &)
void postStreamEndRun(edm::StreamContext const &)
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
void postModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preSourceEvent(edm::StreamID)
void preEvent(edm::StreamContext const &)
void preStreamBeginLumi(edm::StreamContext const &)
void postSourceEvent(edm::StreamID)
void preModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preGlobalBeginLumi(edm::GlobalContext const &)
void preSourceConstruction(edm::ModuleDescription const &)
void preModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
void preModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void postSourceLumi(edm::LuminosityBlockIndex)
void postModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void postModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preStreamBeginRun(edm::StreamContext const &)
void preModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
void preallocate(edm::service::SystemBounds const &)
static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::DescriptionFillerForServices< FastTimerService > > s_filler__LINE__ ( "FastTimerService"  )
static
static const edm::serviceregistry::ServicePluginFactory ::PMaker< edm::serviceregistry::ServiceMaker< FastTimerService > > s_maker__LINE__ ( "FastTimerService"  )
static