public void Dispose() { if (!_disposed) { _disposed = true; _stopWatch.Stop(); if (_dogStatsd == null) { DogStatsd.Timer(_name, _stopWatch.ElapsedMilliseconds(), _sampleRate, Tags.ToArray()); } else { _dogStatsd.Timer(_name, _stopWatch.ElapsedMilliseconds(), _sampleRate, Tags.ToArray()); } } }
/// <summary> /// Records an execution time in milliseconds. /// </summary> /// <param name="statName">The name of the metric.</param> /// <param name="value">The time in millisecond.</param> /// <param name="sampleRate">Percentage of metric to be sent.</param> /// <param name="tags">Array of tags to be added to the data.</param> public static void Timer(string statName, double value, double sampleRate = 1.0, string[] tags = null) => _dogStatsdService.Timer(statName: statName, value: value, sampleRate: sampleRate, tags: tags);