public void SetTelemetryResultProcess( TelemetryResult telemetryResult, int totalOfExecutions, int completedExecutions) { Success = totalOfExecutions == completedExecutions && telemetryResult.Success; ProcessDate = telemetryResult.ProcessDate; MinTelemetryInfo = telemetryResult.MinTelemetryInfo; MedianTelemetryInfo = telemetryResult.MedianTelemetryInfo; MaxTelemetryInfo = telemetryResult.MaxTelemetryInfo; }
public async Task <TelemetryResult> ProcessResultAsync(Func <TelemetryResult, Task <bool> > customSuccessCriteriaFunction) { var telemetryResult = new TelemetryResult(); telemetryResult.ProcessDate = DateTime.UtcNow; if (customSuccessCriteriaFunction != null) { telemetryResult.Success = await customSuccessCriteriaFunction(this).ConfigureAwait(false); } else { telemetryResult.Success = this.TestExectionCollection.All(q => q.Success); } // Median telemetryResult.MedianTelemetryInfo = new TelemetryInfo( 0, GetMedian(TestExectionCollection.Select(q => q.TelemetryInfo.Gen0).ToArray()), GetMedian(TestExectionCollection.Select(q => q.TelemetryInfo.Gen1).ToArray()), GetMedian(TestExectionCollection.Select(q => q.TelemetryInfo.Gen2).ToArray()), GetMedian(TestExectionCollection.Select(q => q.TelemetryInfo.CPUUsage).ToArray()), GetMedian(TestExectionCollection.Select(q => q.TelemetryInfo.TotalOfMemoryKb).ToArray()), GetMedian(TestExectionCollection.Select(q => q.TelemetryInfo.ExecutionTime).ToArray()) ); // Max telemetryResult.MaxTelemetryInfo = new TelemetryInfo( 0, TestExectionCollection.Select(q => q.TelemetryInfo.Gen0).Max(), TestExectionCollection.Select(q => q.TelemetryInfo.Gen1).Max(), TestExectionCollection.Select(q => q.TelemetryInfo.Gen2).Max(), TestExectionCollection.Select(q => q.TelemetryInfo.CPUUsage).Max(), TestExectionCollection.Select(q => q.TelemetryInfo.TotalOfMemoryKb).Max(), TestExectionCollection.Select(q => q.TelemetryInfo.ExecutionTime).Max() ); // Min telemetryResult.MinTelemetryInfo = new TelemetryInfo( 0, TestExectionCollection.Select(q => q.TelemetryInfo.Gen0).Min(), TestExectionCollection.Select(q => q.TelemetryInfo.Gen1).Min(), TestExectionCollection.Select(q => q.TelemetryInfo.Gen2).Min(), TestExectionCollection.Select(q => q.TelemetryInfo.CPUUsage).Min(), TestExectionCollection.Select(q => q.TelemetryInfo.TotalOfMemoryKb).Min(), TestExectionCollection.Select(q => q.TelemetryInfo.ExecutionTime).Min() ); return(await Task.FromResult(telemetryResult).ConfigureAwait(false)); }