public T Leave <T>( Exception?exception, TimeSpan elapsed, Func <TimeSpan, ActionStats, T> map) { lock (this) { if (exception != null) { TotalFailed++; } TotalCalls++; TotalTime = TotalTime.Add(elapsed); var result = map(elapsed, this); ConcurrentCalls--; return(result); } }
private void Timer_Tick(object sender, EventArgs e) { if (exercisePosition == Exercises.list.Length - 1) { timer.Stop(); return; } if (Counter == 30) { Counter = 0; exercisePosition++; Exercise = Exercises.list[exercisePosition]; NextExercise = exercisePosition == Exercises.list.Length - 1 ? "Конец" : Exercises.list[exercisePosition + 1]; } TotalTime = TotalTime.Add(TimeSpan.FromSeconds(1)); Counter++; }
public void AccumulateTime() { TimeFromLaunched = TimeFromLaunched.Add(TimeSpan.FromSeconds(Settings.CountingSecondsInterval)); //指定した時間が経過していたら、データの記録を開始 if (TimeFromLaunched.TotalSeconds >= Settings.MinCountStartTime) { if (!IsCountStarted) { TotalTime = TotalTime.Add(TimeSpan.FromSeconds(Settings.MinCountStartTime)); IsCountStarted = true; } else { TotalTime = TotalTime.Add(TimeSpan.FromSeconds(Settings.CountingSecondsInterval)); } } }
private async void Tick() { UpdateShuttle(); _logger.LogDebug($"Total Time: {TotalTime}"); _logger.LogDebug($"Time Left: {CurrentShuttleTimeLeft}"); PercentageRemaingInCurrentLevel = (CurrentShuttleTimeLeft.TotalSeconds / (CurrentShuttle.CommulativeTime - CurrentShuttle.StartTime) .TotalSeconds) * 100; TotalTime = TotalTime.Add(new TimeSpan(0, 0, 1)); CurrentShuttleTimeLeft = CurrentShuttleTimeLeft.Add(new TimeSpan(0, 0, -1)); if (CurrentShuttleTimeLeft < new TimeSpan(0, 0, -1)) { EndTest(); } await InvokeAsync(StateHasChanged); }
/// <summary> /// Adds the time to the total time spent on activities. /// </summary> /// <param name="time">The time to add.</param> public void AddTime(TimeSpan time) { TotalTime = TotalTime.Add(time); }