Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
        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));
        }