anchor.diff:                  if putIndexTemplateResponse.IsValid = false then
                       raise (Exception("Unable to create index template into Elasticsearch"))
                       
  -            let processor = new GrokProcessor();
  -            processor.Field <- new Field("_ingest._value.displayInfo")
  -            processor.Patterns <- ["%{WORD:_ingest._value.class}.%{DATA:_ingest._value.method}: Job-%{WORD:_ingest._value.jobName}\\(Jit=%{WORD:_ingest._value.jit}, Runtime=%{WORD:_ingest._value.clr}, LaunchCount=%{NUMBER:_ingest._value.launchCount}, RunStrategy=%{WORD:_ingest._value.runStrategy}, TargetCount=%{NUMBER:_ingest._value.targetCount}, UnrollFactor=%{NUMBER:_ingest._value.unrollFactor}, WarmupCount=%{NUMBER:_ingest._value.warmupCount}\\)"]
  -            
  -            let forEachProcessor = new ForeachProcessor()
  -            forEachProcessor.Field <- new Field("benchmarks")
  -            forEachProcessor.Processor <- processor
  +            let grokProcessor = new GrokProcessor();
  +            grokProcessor.Field <- new Field("benchmark.displayInfo")
  +            grokProcessor.Patterns <- ["%{WORD:class}.%{DATA:method}: Job-%{WORD:jobName}\\(Jit=%{WORD:jit}, Runtime=%{WORD:clr}, LaunchCount=%{NUMBER:launchCount}, RunStrategy=%{WORD:runStrategy}, TargetCount=%{NUMBER:targetCount}, UnrollFactor=%{NUMBER:unrollFactor}, WarmupCount=%{NUMBER:warmupCount}\\)"]
   
               let dateIndexProcessor = new DateIndexNameProcessor();
               dateIndexProcessor.Field <- new Field("date")
  
positive.code:             for file in benchmarkJsonFiles
                  do IndexResult (client, file, date, commit, branchName, indexName, typeName)
  
              trace "Indexed benchmark reports into Elasticsearch"
negative.code: 
          ensureDirExists benchmarkOutput
  
          try
              if runInteractive then
                  DotNetCli.RunCommand(fun p ->
  