public ICollection <TaskExecutionReport> Generate( IPipelineTaskStep pipeline, TaskExecutionLog log) { var data = _pipelineReportDataExtractor.Extract(pipeline, log); return(_reportsFormatter.Format( data, typeof(PipelineReportingTemplatesNamespaceMarker), ReportDataJsonToken, x => $"{pipeline.Name}_{x}") .ToArray()); }
private IEnumerable <ICollection <object> > GetStepTimesData( TaskExecutionLog log, IEnumerable <string> stepNames) { yield return(new[] { "Step", "Duration" + PipelineReportingUtils.MsUnit }); yield return(new object[] { "[Total]", log.TaskDuration.Duration.GetLogValue() }); foreach (var stepName in stepNames) { yield return(new object[] { stepName, log.StepLogs[stepName].Duration.Duration.GetLogValue() }); } }
public ICollection <TaskExecutionReport> Generate( TaskDefinition task, TaskExecutionLog log) { var data = _taskReportDataExtractor.Extract(task, log); return(_reportsFormatter.Format( data, typeof(TaskReportingTemplatesNamespaceMarker), ReportDataJsonToken, x => x) .ToArray()); }
private IEnumerable <ICollection <object> > GetStepsTimelineData( TaskExecutionLog log, IEnumerable <string> stepNames) { yield return(new[] { "Step", "Start" + PipelineReportingUtils.MsUnit, "End" + PipelineReportingUtils.MsUnit }); var taskStartTs = log.TaskDuration.StartTs; foreach (var stepName in stepNames) { var stepDuration = log.StepLogs[stepName].Duration; yield return(new object[] { stepName, (stepDuration.StartTs - taskStartTs).GetLogValue(), (stepDuration.EndTs - taskStartTs).GetLogValue() }); } }
public PipelineReportData Extract( IPipelineTaskStep pipeline, TaskExecutionLog log) { var stepLog = log.StepLogs[pipeline.Name]; var materializationBlockName = pipeline.Input.Name ?? PipelineInput.DefaultName; var blockNames = pipeline.Blocks.Select(x => x.Name).ToArray(); var diagnosticChartsData = DiagnosticDataExtractor.Extract( log.DiagnosticsLog.Diagnostics, stepLog.Duration); return(new PipelineReportData { GlobalData = log.DiagnosticsLog.GlobalDiagnostic, ItemsTimelineData = GetItemsTimelineData(stepLog, materializationBlockName, blockNames).ToArray(), BlockTimesData = GetBlockTimesData(stepLog, materializationBlockName, blockNames).ToArray(), MemoryData = diagnosticChartsData.MemoryData, CpuUsageData = diagnosticChartsData.CpuUsageData }); }
public TaskReportData Extract( TaskDefinition task, TaskExecutionLog log) { var stepNames = task.Steps .Select(x => x.Name) .Where(x => log.StepLogs.ContainsKey(x)) .ToArray(); var diagnosticChartsData = DiagnosticDataExtractor.Extract( log.DiagnosticsLog.Diagnostics, log.TaskDuration); return(new TaskReportData { GlobalData = log.DiagnosticsLog.GlobalDiagnostic, StepsTimelineData = GetStepsTimelineData(log, stepNames).ToArray(), StepTimesData = GetStepTimesData(log, stepNames).ToArray(), MemoryData = diagnosticChartsData.MemoryData, CpuUsageData = diagnosticChartsData.CpuUsageData }); }
internal static void SetExecutionLog( this TaskDefinition task, TaskExecutionLog log) => task.Extras.Set(TaskExecutionLogExtraKey, log);