Пример #1
0
    public void Add(BatchedExecuteResult result)
    {
        if (this.ExecutionStatus != ExecutionStatus.Running)
        {
            return;
        }

        CompleteCount += result.BatchedElapsed.Count;
        SucceedCount  += result.BatchedElapsed.Count;

        foreach (var item in result.BatchedElapsed.AsSpan())
        {
            var elapsed = TimeSpan.FromTicks(item);

            Latest = elapsed;
            if (SucceedCount == 1)
            {
                Min = Max = elapsed;
            }
            else
            {
                if (elapsed < Min)
                {
                    Min = elapsed;
                }
                if (Max < elapsed)
                {
                    Max = elapsed;
                }
            }

            TotalElapsed += elapsed;
            elapsedValues?.AddLast(elapsed);
        }
    }
Пример #2
0
    public void ReportExecuteResult(WorkerId workerId, BatchedExecuteResult result)
    {
        if (resultsIndex.TryGetValue(workerId, out var i))
        {
            resultsSorted[i].Add(result);

            if (executionSummary.SucceedSum == null)
            {
                executionSummary.SucceedSum = 1;
            }
            else
            {
                executionSummary.SucceedSum += result.BatchedElapsed.Count;
            }

            if (executeBegin != null)
            {
                executionSummary.RunningTime = DateTime.UtcNow - executeBegin.Value;
            }
        }
    }