#include <JobReport.h>
Classes | |
struct | InputFile |
struct | JobReportImpl |
struct | LumiSectionReport |
struct | OutputFile |
struct | RunReport |
Public Types | |
typedef unsigned int | RunNumber |
typedef std::size_t | Token |
Public Member Functions | |
void | childAfterFork (std::string const &jobReportFile, unsigned int childIndex, unsigned int numberOfChildren) |
New output file for child. | |
std::string | dumpFiles (void) |
debug/test util | |
void | eventReadFromFile (Token fileToken, unsigned int run, unsigned int event) |
void | eventWrittenToFile (Token fileToken, unsigned int run, unsigned int event) |
void | inputFileClosed (Token fileToken) |
Token | inputFileOpened (std::string const &physicalFileName, std::string const &logicalFileName, std::string const &catalog, std::string const &inputType, std::string const &inputSourceClassName, std::string const &moduleLabel, std::string const &guid, std::vector< std::string > const &branchNames) |
JobReport (std::ostream *outputStream) | |
JobReport () | |
void | outputFileClosed (Token fileToken) |
Token | outputFileOpened (std::string const &physicalFileName, std::string const &logicalFileName, std::string const &catalog, std::string const &outputModuleClassName, std::string const &moduleLabel, std::string const &guid, std::string const &dataType, std::string const &branchHash, std::vector< std::string > const &branchNames) |
void | overrideContributingInputs (Token outputToken, std::vector< Token > const &inputTokens) |
void | overrideEventsRead (Token fileToken, int const eventsRead) |
void | overrideEventsWritten (Token fileToken, int const eventsWritten) |
void | parentAfterFork (std::string const &jobReportFile) |
void | parentBeforeFork (std::string const &jobReportFile, unsigned int numberOfChildren) |
void | reportAnalysisFile (std::string const &fileName, std::map< std::string, std::string > const &fileData) |
void | reportDataType (Token fileToken, std::string const &dataType) |
void | reportError (std::string const &shortDesc, std::string const &longDesc) |
void | reportError (std::string const &shortDesc, std::string const &longDesc, int const &exitCode) |
void | reportFallbackAttempt (std::string const &pfn, std::string const &lfn, std::string const &err) |
void | reportFastClonedBranches (std::set< std::string > const &fastClonedBranches, long long nEvents) |
Inform the job report that branches have been fast Cloned. | |
void | reportFastCopyingStatus (Token t, std::string const &inputFileName, bool fastCopying) |
void | reportGeneratorInfo (std::string const &name, std::string const &value) |
void | reportInputLumiSection (unsigned int run, unsigned int lumiSectId) |
void | reportInputRunNumber (unsigned int run) |
void | reportLumiSection (unsigned int run, unsigned int lumiSectId) |
void | reportMemoryInfo (std::vector< std::string > const &memoryData) |
void | reportMessageInfo (std::map< std::string, double > const &messageData) |
void | reportPerformanceForModule (std::string const &metricClass, std::string const &moduleName, std::map< std::string, std::string > const &metrics) |
void | reportPerformanceSummary (std::string const &metricClass, std::map< std::string, std::string > const &metrics) |
void | reportPSetHash (std::string const &hashValue) |
void | reportRandomStateFile (std::string const &name) |
void | reportReadBranch (std::string const &branchName) |
Inform the job report that a branch has been read. | |
void | reportReadBranches () |
void | reportRunNumber (unsigned int run) |
void | reportSkippedEvent (unsigned int run, unsigned int event) |
void | reportSkippedFile (std::string const &pfn, std::string const &lfn) |
~JobReport () | |
Protected Member Functions | |
boost::scoped_ptr < JobReportImpl > & | impl () |
Private Attributes | |
boost::scoped_ptr< JobReportImpl > | impl_ |
Definition at line 40 of file JobReport.h.
typedef unsigned int edm::JobReport::RunNumber |
Definition at line 42 of file JobReport.h.
typedef std::size_t edm::JobReport::Token |
Definition at line 43 of file JobReport.h.
JobReport::JobReport | ( | ) |
Definition at line 435 of file JobReport.cc.
: impl_(new JobReportImpl(0)) { }
JobReport::JobReport | ( | std::ostream * | outputStream | ) |
JobReport::~JobReport | ( | ) |
void JobReport::childAfterFork | ( | std::string const & | jobReportFile, |
unsigned int | childIndex, | ||
unsigned int | numberOfChildren | ||
) |
New output file for child.
Definition at line 492 of file JobReport.cc.
References impl_, and AlCaHLTBitMon_ParallelJobs::p.
std::string JobReport::dumpFiles | ( | void | ) |
debug/test util
Definition at line 888 of file JobReport.cc.
References f, edm::findOrDefault(), impl_, edm::JobReport::InputFile::logicalFileName, lumiQueryAPI::msg, and edm::JobReport::InputFile::physicalFileName.
{ std::ostringstream msg; typedef std::vector<JobReport::OutputFile>::iterator iterator; for(iterator f = impl_->outputFiles_.begin(), fEnd = impl_->outputFiles_.end(); f != fEnd; ++f) { msg << "\n<File>"; msg << *f; msg << "\n<LumiSections>"; //typedef std::vector<JobReport::LumiSectionReport>::iterator Iter; //for(Iter iLumi = f->lumiSections.begin(), // iLumiEnd = f->lumiSections.end(); // iLumi != iLumiEnd; ++iLumi) { // msg << *iLumi; //} //msg << "\n</LumiSections>\n"; msg << "\n<Inputs>"; typedef std::vector<JobReport::Token>::iterator iterator; for(iterator iInput = f->contributingInputs.begin(), iInputEnd = f->contributingInputs.end(); iInput != iInputEnd; ++iInput) { JobReport::InputFile inpFile = impl_->inputFiles_[*iInput]; msg << "\n<Input>"; msg << "\n <LFN>" << TiXmlText(inpFile.logicalFileName) << "</LFN>"; msg << "\n <PFN>" << TiXmlText(inpFile.physicalFileName) << "</PFN>"; msg << "\n <FastCopying>" << findOrDefault(f->fastCopyingInputs, inpFile.physicalFileName) << "</FastCopying>"; msg << "\n</Input>"; } msg << "\n</Inputs>"; msg << "\n</File>"; } return msg.str(); }
void JobReport::eventReadFromFile | ( | JobReport::Token | fileToken, |
unsigned int | run, | ||
unsigned int | event | ||
) |
Report that the event with the given id has been read from the file identified by the given Token.
Definition at line 537 of file JobReport.cc.
References f, impl_, and edm::JobReport::InputFile::numEventsRead.
{ JobReport::InputFile& f = impl_->getInputFileForToken(fileToken); ++f.numEventsRead; //f.runsSeen.insert(run); }
void JobReport::eventWrittenToFile | ( | JobReport::Token | fileToken, |
unsigned int | run, | ||
unsigned int | event | ||
) |
Report that the event with the given id has been written to the file identified by the given Token.
Definition at line 593 of file JobReport.cc.
References f, impl_, and edm::JobReport::OutputFile::numEventsWritten.
{ JobReport::OutputFile& f = impl_->getOutputFileForToken(fileToken); ++f.numEventsWritten; //f.runsSeen.insert(run); }
boost::scoped_ptr<JobReportImpl>& edm::JobReport::impl | ( | ) | [inline, protected] |
Definition at line 431 of file JobReport.h.
References impl_.
Referenced by edm::service::JobReportService::frameworkShutdownOnFailure(), and edm::service::JobReportService::postEndJob().
{return impl_;}
void JobReport::inputFileClosed | ( | JobReport::Token | fileToken | ) |
Report that the input file identified by the given Token has been closed. An exception will be thrown if the given Token was not obtained from inputFileOpened.
Definition at line 550 of file JobReport.cc.
References f, edm::JobReport::InputFile::fileHasBeenClosed, and impl_.
{ JobReport::InputFile& f = impl_->getInputFileForToken(fileToken); // Dump information to the MessageLogger's JobSummary // about this file. // After setting the file to 'closed', we will no longer be able // to reference it by ID. f.fileHasBeenClosed = true; impl_->writeInputFile(f); }
JobReport::Token JobReport::inputFileOpened | ( | std::string const & | physicalFileName, |
std::string const & | logicalFileName, | ||
std::string const & | catalog, | ||
std::string const & | inputType, | ||
std::string const & | inputSourceClassName, | ||
std::string const & | moduleLabel, | ||
std::string const & | guid, | ||
std::vector< std::string > const & | branchNames | ||
) |
Report that an input file has been opened. The returned Token should be used for later identification of this file.
Definition at line 502 of file JobReport.cc.
References edm::JobReport::InputFile::branchNames, edm::JobReport::InputFile::catalog, validate_alignment_devdb10_cfg::catalog, edm::JobReport::InputFile::fastClonedBranches, edm::JobReport::InputFile::fileHasBeenClosed, edm::JobReport::InputFile::guid, impl_, edm::JobReport::InputFile::inputSourceClassName, edm::JobReport::InputFile::inputType, edm::JobReport::InputFile::logicalFileName, edm::JobReport::InputFile::moduleLabel, edm::JobReport::InputFile::numEventsRead, edm::JobReport::InputFile::physicalFileName, and alignCSCRings::r.
{ // Do we have to worry about thread safety here? Or is this // service used in a way to make this safe? impl_->inputFiles_.push_back(JobReport::InputFile()); JobReport::InputFile& r = impl_->inputFiles_.back(); impl_->fastClonedBranches_ = &r.fastClonedBranches; r.logicalFileName = logicalFileName; r.physicalFileName = physicalFileName; r.catalog = catalog; r.inputType = inputType; r.inputSourceClassName = inputSourceClassName; r.moduleLabel = moduleLabel; r.guid = guid; // r.runsSeen is not modified r.numEventsRead = 0; r.branchNames = branchNames; r.fileHasBeenClosed = false; JobReport::Token newToken = impl_->inputFiles_.size()-1; // // Add the new input file token to all output files // currently open. impl_->insertInputForOutputs(newToken); return newToken; }
void JobReport::outputFileClosed | ( | JobReport::Token | fileToken | ) |
Report that the output file identified by the given Token has been closed. An exception will be thrown if the given Token was not obtained from outputFileOpened.
Definition at line 600 of file JobReport.cc.
References f, edm::JobReport::OutputFile::fileHasBeenClosed, and impl_.
{ JobReport::OutputFile& f = impl_->getOutputFileForToken(fileToken); // Dump information to the MessageLogger's JobSummary // about this file. // After setting the file to 'closed', we will no longer be able // to reference it by ID. f.fileHasBeenClosed = true; impl_->writeOutputFile(f); }
JobReport::Token JobReport::outputFileOpened | ( | std::string const & | physicalFileName, |
std::string const & | logicalFileName, | ||
std::string const & | catalog, | ||
std::string const & | outputModuleClassName, | ||
std::string const & | moduleLabel, | ||
std::string const & | guid, | ||
std::string const & | dataType, | ||
std::string const & | branchHash, | ||
std::vector< std::string > const & | branchNames | ||
) |
Report that an output file has been opened. The returned Token should be used for later identification of this file.
Definition at line 561 of file JobReport.cc.
References edm::JobReport::OutputFile::branchHash, edm::JobReport::OutputFile::branchNames, edm::JobReport::OutputFile::catalog, validate_alignment_devdb10_cfg::catalog, edm::JobReport::OutputFile::contributingInputs, dtTPAnalyzer_cfg::dataType, edm::JobReport::OutputFile::dataType, edm::JobReport::OutputFile::fileHasBeenClosed, edm::JobReport::OutputFile::guid, impl_, edm::JobReport::OutputFile::logicalFileName, edm::JobReport::OutputFile::moduleLabel, edm::JobReport::OutputFile::numEventsWritten, edm::JobReport::OutputFile::outputModuleClassName, edm::JobReport::OutputFile::physicalFileName, and alignCSCRings::r.
{ impl_->outputFiles_.push_back(JobReport::OutputFile()); JobReport::OutputFile& r = impl_->outputFiles_.back(); r.logicalFileName = logicalFileName; r.physicalFileName = physicalFileName; r.catalog = catalog; r.outputModuleClassName = outputModuleClassName; r.moduleLabel = moduleLabel; r.guid = guid; r.dataType = dataType; r.branchHash = branchHash; // r.runsSeen is not modified r.numEventsWritten = 0; r.branchNames = branchNames; r.fileHasBeenClosed = false; // // Init list of contributors to list of open input file Tokens // impl_->openInputFiles(r.contributingInputs); return impl_->outputFiles_.size()-1; }
void JobReport::overrideContributingInputs | ( | Token | outputToken, |
std::vector< Token > const & | inputTokens | ||
) |
Override the list of input files seen by an output file for use with EdmFastMerge
Definition at line 633 of file JobReport.cc.
References edm::JobReport::OutputFile::contributingInputs, f, and impl_.
{ // Get the required output file instance using the token JobReport::OutputFile& f = impl_->getOutputFileForToken(outputToken); // override its contributing inputs data f.contributingInputs = inputTokens; }
void JobReport::overrideEventsRead | ( | Token | fileToken, |
int const | eventsRead | ||
) |
For use by fast merge: Since the event by event counter cant be used for fast merges, use this method to forcibly set the events read count for an input file before reporting it closed
Definition at line 625 of file JobReport.cc.
References f, impl_, and edm::JobReport::InputFile::numEventsRead.
{ // Get the required input file instance using the token JobReport::InputFile& f = impl_->getInputFileForToken(fileToken); // set the events read parameter to the provided value f.numEventsRead = eventsRead; }
void JobReport::overrideEventsWritten | ( | Token | fileToken, |
int const | eventsWritten | ||
) |
For use by fast merge: Since the event by event counter cant be used for fast merges, use this method to forcibly set the events written count for an output file before reporting it closed
Definition at line 617 of file JobReport.cc.
References f, impl_, and edm::JobReport::OutputFile::numEventsWritten.
{ // Get the required output file instance using the token JobReport::OutputFile& f = impl_->getOutputFileForToken(fileToken); // set the eventsWritten parameter to the provided value f.numEventsWritten = eventsWritten; }
void JobReport::parentAfterFork | ( | std::string const & | jobReportFile | ) |
Definition at line 488 of file JobReport.cc.
{ }
void JobReport::parentBeforeFork | ( | std::string const & | jobReportFile, |
unsigned int | numberOfChildren | ||
) |
Definition at line 470 of file JobReport.cc.
References i, impl_, and AlCaHLTBitMon_ParallelJobs::p.
{ if(impl_->ost_) { *(impl_->ost_) << "<ChildProcessFiles>\n"; for(unsigned int i = 0; i < numberOfChildren; ++i) { std::ostringstream ofilename; toFileName(jobReportFile, i, numberOfChildren, ofilename); *(impl_->ost_) << " <ChildProcessFile>" << ofilename.str() << "</ChildProcessFile>\n"; } *(impl_->ost_) << "</ChildProcessFiles>\n"; *(impl_->ost_) << "</FrameworkJobReport>\n"; std::ofstream* p = dynamic_cast<std::ofstream *>(impl_->ost_); if(p) { p->close(); } } }
void JobReport::reportAnalysisFile | ( | std::string const & | fileName, |
std::map< std::string, std::string > const & | fileData | ||
) |
Definition at line 685 of file JobReport.cc.
References impl_, lumiQueryAPI::msg, and pos.
{ if(impl_->ost_) { std::ostream& msg = *(impl_->ost_); //std::ostringstream msg; msg << "<AnalysisFile>\n" << " <FileName>" << TiXmlText(fileName) << "</FileName>\n"; typedef std::map<std::string, std::string>::const_iterator const_iterator; for(const_iterator pos = fileData.begin(), posEnd = fileData.end(); pos != posEnd; ++pos) { msg << " <" << pos->first << " Value=\"" << pos->second << "\" />" << "\n"; } msg << "</AnalysisFile>\n"; //LogError("FwkJob") << msg.str(); msg << std::flush; } }
void JobReport::reportDataType | ( | Token | fileToken, |
std::string const & | dataType | ||
) |
Report the data type of a file after it has been opened Needed since the data type isn't known until an event has been read
Definition at line 544 of file JobReport.cc.
References dtTPAnalyzer_cfg::dataType, edm::JobReport::OutputFile::dataType, f, and impl_.
{ JobReport::OutputFile& f = impl_->getOutputFileForToken(fileToken); f.dataType = dataType; }
void JobReport::reportError | ( | std::string const & | shortDesc, |
std::string const & | longDesc | ||
) |
Report an exception, providing details of the problem as a short description (Eg "XXXError") and a long description (Eg "XXX crashed because...") Also overload this method to accept an optional standard exit code
Definition at line 672 of file JobReport.cc.
References impl_, and lumiQueryAPI::msg.
Referenced by edm::printCmsException(), and edm::printCmsExceptionWarning().
void JobReport::reportError | ( | std::string const & | shortDesc, |
std::string const & | longDesc, | ||
int const & | exitCode | ||
) |
Definition at line 705 of file JobReport.cc.
References impl_, and lumiQueryAPI::msg.
{ if(impl_->ost_) { std::ostream& msg = *(impl_->ost_); //std::ostringstream msg; msg << "<FrameworkError ExitStatus=\""<< exitCode << "\" Type=\"" << shortDesc << "\" >\n"; msg << "<![CDATA[\n" << longDesc << "\n]]>\n"; msg << "</FrameworkError>\n"; //LogError("FwkJob") << msg.str(); msg << std::flush; } }
void JobReport::reportFallbackAttempt | ( | std::string const & | pfn, |
std::string const & | lfn, | ||
std::string const & | err | ||
) |
Definition at line 735 of file JobReport.cc.
References impl_, lumiQueryAPI::msg, and TiXmlElement::SetAttribute().
{ if(impl_->ost_) { std::ostream& msg = *(impl_->ost_); TiXmlElement fallback("FallbackAttempt"); fallback.SetAttribute("Pfn", pfn); fallback.SetAttribute("Lfn", lfn); msg << fallback << "\n"; msg << "<![CDATA[\n" << err << "\n]]>\n"; msg << std::flush; //LogInfo("FwkJob") << msg.str(); } }
void JobReport::reportFastClonedBranches | ( | std::set< std::string > const & | fastClonedBranches, |
long long | nEvents | ||
) |
Inform the job report that branches have been fast Cloned.
Definition at line 806 of file JobReport.cc.
void JobReport::reportFastCopyingStatus | ( | JobReport::Token | fileToken, |
std::string const & | inputFileName, | ||
bool | fastCopying | ||
) |
Definition at line 611 of file JobReport.cc.
References f, edm::JobReport::OutputFile::fastCopyingInputs, and impl_.
{ JobReport::OutputFile& f = impl_->getOutputFileForToken(fileToken); f.fastCopyingInputs.insert(std::make_pair(inputFileName, fastCopying)); }
void JobReport::reportGeneratorInfo | ( | std::string const & | name, |
std::string const & | value | ||
) |
void JobReport::reportInputLumiSection | ( | unsigned int | run, |
unsigned int | lumiSectId | ||
) |
API for reporting a Lumi Section to the job report. for input files, call only if lumi section is physically read from the input file
Definition at line 658 of file JobReport.cc.
References impl_.
void JobReport::reportInputRunNumber | ( | unsigned int | run | ) |
void JobReport::reportLumiSection | ( | unsigned int | run, |
unsigned int | lumiSectId | ||
) |
API for reporting a Lumi Section to the job report. for output files, call only if lumi section is written to the output file
Definition at line 653 of file JobReport.cc.
References impl_.
void JobReport::reportMemoryInfo | ( | std::vector< std::string > const & | memoryData | ) |
Report Memory statistics ALTERNATE FORM - USING THIS MAY NECESSITATE CHANGES IN PARSING XML! Invoked by the Memory service to send an end of job summary about memory usage for inclusion in the job report
Definition at line 749 of file JobReport.cc.
References impl_, lumiQueryAPI::msg, and pos.
{ if(impl_->ost_) { std::ostream& msg = *(impl_->ost_); msg << "<MemoryService>\n"; typedef std::vector<std::string>::const_iterator const_iterator; for(const_iterator pos = memoryData.begin(), posEnd = memoryData.end(); pos != posEnd; ++pos) { msg << *pos << "\n"; } msg << "</MemoryService>\n"; msg << std::flush; } }
void JobReport::reportMessageInfo | ( | std::map< std::string, double > const & | messageData | ) |
Report Message statistics Invoked by the MessageLogger service to send an end of job summary about numbers of various categories messages issued for inclusion in the job report
Definition at line 764 of file JobReport.cc.
References impl_, lumiQueryAPI::msg, and pos.
{ if(impl_->ost_) { std::ostream& msg = *(impl_->ost_); msg << "<MessageSummary>\n"; typedef std::map<std::string, double>::const_iterator const_iterator; for(const_iterator pos = messageData.begin(), posEnd = messageData.end(); pos != posEnd; ++pos) { msg << " <" << pos->first << " Value=\"" << pos->second << "\" />" << "\n"; } msg << "</MessageSummary>\n"; msg << std::flush; } }
void JobReport::reportPerformanceForModule | ( | std::string const & | metricClass, |
std::string const & | moduleName, | ||
std::map< std::string, std::string > const & | metrics | ||
) |
Definition at line 865 of file JobReport.cc.
References impl_, and lumiQueryAPI::msg.
{ if(impl_->ost_) { std::ostream& msg = *(impl_->ost_); msg << "<PerformanceReport>\n" << " <PerformanceModule Metric=\"" << metricClass << "\" " << " Module=\"" << moduleName << "\" >\n"; typedef std::map<std::string, std::string>::const_iterator const_iterator; for(const_iterator iter = metrics.begin(), iterEnd = metrics.end(); iter != iterEnd; ++iter) { msg << " <Metric Name=\"" << iter->first << "\" " << "Value=\"" << iter->second << "\"/>\n"; } msg << " </PerformanceModule>\n" << "</PerformanceReport>\n"; msg << std::flush; //LogInfo("FwkJob") << msg.str(); } }
void JobReport::reportPerformanceSummary | ( | std::string const & | metricClass, |
std::map< std::string, std::string > const & | metrics | ||
) |
Performance Reports
Two categories: Summary for entire job and module for a specific module Each one requires a performance metric class such as Timing, Memory, CPU, Trigger etc.
Definition at line 844 of file JobReport.cc.
References impl_, and lumiQueryAPI::msg.
{ if(impl_->ost_) { std::ostream& msg = *(impl_->ost_); msg << "<PerformanceReport>\n" << " <PerformanceSummary Metric=\"" << metricClass << "\">\n"; typedef std::map<std::string, std::string>::const_iterator const_iterator; for(const_iterator iter = metrics.begin(), iterEnd = metrics.end(); iter != iterEnd; ++iter) { msg << " <Metric Name=\"" << iter->first << "\" " << "Value=\"" << iter->second << "\"/>\n"; } msg << " </PerformanceSummary>\n" << "</PerformanceReport>\n"; msg << std::flush; //LogInfo("FwkJob") << msg.str(); } }
void JobReport::reportPSetHash | ( | std::string const & | hashValue | ) |
Report PSetHash
Definition at line 832 of file JobReport.cc.
References impl_, and lumiQueryAPI::msg.
void JobReport::reportRandomStateFile | ( | std::string const & | name | ) |
Report the name of the random engine persistency file
Definition at line 820 of file JobReport.cc.
References impl_, and lumiQueryAPI::msg.
void JobReport::reportReadBranch | ( | std::string const & | branchName | ) |
void JobReport::reportReadBranches | ( | ) |
Report read branches Invoked by the source that reads ROOT/EDM files at the end of a job to report which product branches in the Events tree have been read, with a count of the number of events for which the branch was read.
Definition at line 780 of file JobReport.cc.
References impl_, and TiXmlElement::SetAttribute().
{ if(impl_->ost_) { std::ostream& ost = *(impl_->ost_); ost << "<ReadBranches>\n"; typedef std::map<std::string, long long>::const_iterator const_iterator; for(const_iterator it = impl_->readBranches_.begin(), itEnd = impl_->readBranches_.end(); it != itEnd; ++it) { TiXmlElement branch("Branch"); branch.SetAttribute("Name", it->first); branch.SetAttribute("ReadCount", it->second); ost << branch << "\n"; // ost << " <Branch Name=" << '"' << it->first << '"'<< " ReadCount=" << it->second << ">\n"; } ost << "</ReadBranches>\n"; ost << std::flush; } }
void JobReport::reportRunNumber | ( | unsigned int | run | ) |
API to report the a run written to output
Definition at line 663 of file JobReport.cc.
References impl_.
void JobReport::reportSkippedEvent | ( | unsigned int | run, |
unsigned int | event | ||
) |
Definition at line 642 of file JobReport.cc.
References impl_, and lumiQueryAPI::msg.
void JobReport::reportSkippedFile | ( | std::string const & | pfn, |
std::string const & | lfn | ||
) |
Report Skipped File
Report that a file has been skipped due to it not being found.
Definition at line 721 of file JobReport.cc.
References impl_, lumiQueryAPI::msg, and TiXmlElement::SetAttribute().
{ if(impl_->ost_) { std::ostream& msg = *(impl_->ost_); TiXmlElement skipped("SkippedFile"); skipped.SetAttribute("Pfn", pfn); skipped.SetAttribute("Lfn", lfn); msg << skipped << "\n"; msg << std::flush; //LogInfo("FwkJob") << msg.str(); } }
boost::scoped_ptr<JobReportImpl> edm::JobReport::impl_ [private] |
Definition at line 434 of file JobReport.h.
Referenced by childAfterFork(), dumpFiles(), eventReadFromFile(), eventWrittenToFile(), impl(), inputFileClosed(), inputFileOpened(), JobReport(), outputFileClosed(), outputFileOpened(), overrideContributingInputs(), overrideEventsRead(), overrideEventsWritten(), parentBeforeFork(), reportAnalysisFile(), reportDataType(), reportError(), reportFallbackAttempt(), reportFastClonedBranches(), reportFastCopyingStatus(), reportGeneratorInfo(), reportInputLumiSection(), reportInputRunNumber(), reportLumiSection(), reportMemoryInfo(), reportMessageInfo(), reportPerformanceForModule(), reportPerformanceSummary(), reportPSetHash(), reportRandomStateFile(), reportReadBranch(), reportReadBranches(), reportRunNumber(), reportSkippedEvent(), reportSkippedFile(), and ~JobReport().