/// <summary> /// Initializes a new instance of the <see cref="RegionTimer"/> class. /// </summary> /// <param name="onDisposed">The disposed delegate is called once on disposal.</param> /// <param name="warningDuration">Duration of the warning.</param> /// <param name="criticalDuration">Duration of the critical.</param> public RegionTimer( [CanBeNull] RegionTimerDisposedDelegate onDisposed = null, Duration?warningDuration = null, Duration?criticalDuration = null) { Started = HighPrecisionClock.Instance.Now; _onDisposed = onDisposed; WarningDuration = warningDuration ?? PerformanceConfiguration.DefaultWarningDuration; CriticalDuration = criticalDuration ?? PerformanceConfiguration.DefaultCriticalDuration; }
/// <summary> /// Initializes a new instance of the <see cref="RegionTimer"/> class. /// </summary> /// <param name="onDisposed">The disposed delegate is called once on disposal.</param> /// <param name="warningDuration">Duration of the warning.</param> /// <param name="criticalDuration">Duration of the critical.</param> public RegionTimer( [CanBeNull] RegionTimerDisposedDelegate onDisposed = null, Duration? warningDuration = null, Duration? criticalDuration = null) { Started = HighPrecisionClock.Instance.Now; _onDisposed = onDisposed; WarningDuration = warningDuration ?? PerformanceConfiguration.DefaultWarningDuration; CriticalDuration = criticalDuration ?? PerformanceConfiguration.DefaultCriticalDuration; }