CMS MessageLogger Service: Framework Job Reports

Ordinary output destinations are formatted for human readability. CMS has specified an alternative xml format which may facilitate the creation of automated parsing tools for programmatic understanding of log files.

process TEST = {

 service = MessageLogger {
    vstring destinations =  {   "detailedInfo.txt"
                              , "critical.txt"
                            }
    vstring fwkJobReports = {   "long_job_report.xml"
     			      , "terse_job_report.xml" 
			    }

    PSet long_job_report.xml  = { string threshold = "INFO"  }
    PSet terse_job_report.xml = { string threshold = "ERROR" }
  }
  path p = { myAnalysisModule }
  module myAnalysisModule = ModuleThatIssuesMessages { }
  source = EmptySource {untracked int32 maxEvents = 5}
}

The vstring fwkJobReports = { ... } parameter instructs the message logger to form one or more (in this case, two) ELfwkJobReport destinations. Each such destination can be (and in the above example is) controlled by a PSet, establishing thresholds and limits.

One set of limits is imposed on the ELfwkJobReport destination by default and need not be mentioned in the .cfg file: The routine informational messages from the framework reporting transitions between modules and the start of each new event are defaulted to a limit of zero (and thus will not appear in the file, unless the .cfg file explicitly sets a different limit for them).

Command-line Control of Creation of Job Reports

The usual .cfi file, and the hardwired defaults, cause a framework job report with name FrameworkJobReport.xml to be written. In many non-grid, non-production situations, this file is not looked at by the user and would be considered an annoyance. Therefore, by default, the fwkJobReports destinations are not created, even if they are specified in the configuration.

To enable Framework Job Reports which may be configured by default or by the .cfg file, one can include an option -e on the cmsRun command line:

  cmsRun -e myconfig.cfg
Alternatively, one can specify a specific name for a Framework Job Report file using the option --jobreport=filename or -j=filename
  cmsRun --jobreport myjobrep myconfig.cfg
  cmsRun -j myjobrep myconfig.cfg

The equals sign is optional; it may be replaced by a space. The default extension assigned is .xml.

Format of Job Report Output

The format of the output is illustrated by this example, from long_job_report.xml:

<FrameworkJobReport>
 
  <Report>
    <Severity> -e </Severity>

    <Category> cat_A </Category>
    <Message>
      <Item> LogError was used to send this message  </Item>
    </Message>

    <Module> UnitTestClient_A:sendSomeMessages </Module>
  </Report>
 
  <Report>
    <Severity> -e </Severity>

    <Category> cat_B </Category>
    <Message>
      <Item> LogError was used to send this other message  </Item>
    </Message>

    <Module> UnitTestClient_A:sendSomeMessages </Module>
  </Report>
 
  <Report>
    <Severity> -w </Severity>

    <Category> cat_A </Category>
    <Message>
      <Item> LogWarning was used to send a message with the number </Item>
      <Item> 46 </Item>

      <Item> and this other string streamed to the logger </Item>
    </Message>
    <Module> UnitTestClient_A:sendSomeMessages </Module>
  </Report>

 
  <Report>
    <Severity> -w </Severity>
    <Category> cat_B </Category>
    <Message>

      <Item> LogWarning was used to send this other message  </Item>
    </Message>
    <Module> UnitTestClient_A:sendSomeMessages </Module>
  </Report>

 
  <Report>
    <Severity> -i </Severity>
    <Category> cat_A </Category>
    <Message>

      <Item> LogInfo was used to send this message  </Item>
    </Message>
    <Module> UnitTestClient_A:sendSomeMessages </Module>
  </Report>

                                                                                                    
  <Report>
    <Severity> -i </Severity>
    <Category> cat_B </Category>
    <Message>

      <Item> LogInfo was used to send this other message  </Item>
    </Message>
    <Module> UnitTestClient_A:sendSomeMessages </Module>
  </Report>

  
 </FrameworkJobReport>
-- SudhirMalik - 30-Aug-2011
Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2011-08-30 - SudhirMalik
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback