private IEnumerable <ICollection <object> > GetItemsTimelineData( TaskStepLog stepLog, string materializationBlockName, IEnumerable <string> blockNames) { var headerRow = new[] { "Item", "Step", "Start" + PipelineReportingUtils.MsUnit, "End" + PipelineReportingUtils.MsUnit }; var dataRows = stepLog .ItemLogs .Select(x => GetItemsTimelineItemRows(x.Key, x.Value, materializationBlockName, blockNames, stepLog.Duration.StartTs)) .SelectMany(rows => rows); return(headerRow.ToEnumerable().Concat(dataRows)); }
private IEnumerable <ICollection <object> > GetBlockTimesData( TaskStepLog stepLog, string materializationBlockName, IEnumerable <string> blockNames) { yield return(new object[] { "Block", "Total duration" + PipelineReportingUtils.MsUnit }); yield return(new object[] { "[Total]", stepLog.Duration.Duration.GetLogValue() }); yield return(new object[] { materializationBlockName, stepLog.BlockTotals.MaterializationDuration.GetLogValue() }); foreach (var blockName in blockNames) { yield return(new object[] { blockName, stepLog.BlockTotals.BlockDurations[blockName].GetLogValue() }); } }