44 if (
void *sym = dlsym(
nullptr,
"igprof_dump_now")) {
45 dump_ = __extension__(
void (*)(
const char *)) sym;
47 edm::LogWarning(
"IgProfModule") <<
"IgProfModule requested but application is not" 48 <<
" currently being profiled with igprof\n";
110 "All file parameters allow the following replaceable tokens:\n" 111 " %I : record number\n" 112 " %E : event number\n" 114 " %L : lumi number\n" 115 " %F : file open count\n" 116 " %C : file close count\n" 117 " %M : module label");
118 desc.addUntracked<
int>(
"reportEventInterval", 1)->setComment(
"write a new file every n events");
119 desc.addUntracked<
int>(
"reportFirstEvent", 1)->setComment(
"first event count to start writing files");
129 desc.addUntracked<std::vector<std::string>>(
"reportModules", {});
130 desc.addUntracked<std::vector<std::string>>(
"reportModuleTypes", {});
138 desc.addUntracked<
std::string>(
"reportToFileAtPreEndProcessBlock",
"");
139 desc.addUntracked<
std::string>(
"reportToFileAtPostEndProcessBlock",
"");
243 dump_(
final.c_str());
248 size_t patlen = strlen(
pat);
252 int n = sprintf(
buf,
"%d",
val);
262 size_t patlen = strlen(
pat);
266 int n = sprintf(
buf,
"%llu",
val);
276 size_t patlen = strlen(
pat);
std::string atPreModuleEvent_
void watchPreEvent(PreEvent::slot_type const &iSlot)
ModuleDescription const * moduleDescription() const
LuminosityBlockNumber_t luminosityBlock() const
std::string atPostEndLumi_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
void postOpenFile(std::string const &)
std::string atPostEndJob_
void watchPostEvent(PostEvent::slot_type const &iSlot)
void watchPostEndProcessBlock(PostEndProcessBlock::slot_type const &iSlot)
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const &iSlot)
std::string const & moduleName() const
IgProfService(const ParameterSet &, ActivityRegistry &)
void postEndRun(GlobalContext const &gc)
edm::LuminosityBlockNumber_t nlumi_
void watchPreEndProcessBlock(PreEndProcessBlock::slot_type const &iSlot)
void preEndRun(GlobalContext const &gc)
std::string atPostBeginRun_
void preModuleEvent(StreamContext const &sc, ModuleCallingContext const &mcc)
T getUntrackedParameter(std::string const &, T const &) const
std::string atPostOpenFile_
static std::string replaceU64(const std::string &s, const char *pat, unsigned long long val)
void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const &iSlot)
std::string atPreEndProcessBlock_
void postEvent(StreamContext const &sc)
void watchPostCloseFile(PostCloseFile::slot_type const &iSlot)
void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const &iSlot)
void addDefault(ParameterSetDescription const &psetDescription)
void makeDump(const std::string &format, std::string_view moduleLabel="")
std::string atPostEndRun_
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
std::vector< std::string > modules_
std::string atPostEndProcessBlock_
std::string atPostCloseFile_
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
void preEndProcessBlock(GlobalContext const &gc)
std::string atPostModuleEvent_
void postCloseFile(std::string const &)
LuminosityBlockID const & luminosityBlockID() const
void(* dump_)(const char *)
void postBeginLumi(GlobalContext const &gc)
#define DEFINE_FWK_SERVICE(type)
std::vector< std::string > moduleTypes_
std::string atPostBeginLumi_
void postEndLumi(GlobalContext const &gc)
edm::EventNumber_t nevent_
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
void watchPreEndJob(PreEndJob::slot_type const &iSlot)
EventID const & eventID() const
void postModuleEvent(StreamContext const &sc, ModuleCallingContext const &mcc)
void preEvent(StreamContext const &sc)
void postEndProcessBlock(GlobalContext const &gc)
Log< level::Warning, false > LogWarning
std::string atPostBeginJob_
std::string const & moduleLabel() const
static std::string replace(const std::string &s, const char *pat, int val)
EventNumber_t event() const
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void postBeginRun(GlobalContext const &gc)