/// <inheritdoc /> public ITimer WithHistogram <T>(TimerOptions options, Func <T> histogramMetricBuilder) where T : IHistogramMetric { return(Instance( options, () => _timerBuilder.Build(histogramMetricBuilder(), _clock))); }
/// <inheritdoc /> public ITimer Instance(TimerOptions options, MetricTags tags) { return(Instance( options, tags, () => _timerBuilder.Build(options.Reservoir, _clock))); }
/// <inheritdoc /> public TimerContext Time(TimerOptions options) { return (_registry.Timer( options, () => _timerBuilder.Build(options.Reservoir, _clock)). NewContext()); }
public void Time(TimerOptions options, MetricTags tags, long time) { var context = _registry.Timer(options, tags, () => _timerBuilder.Build( options.Reservoir, _clock)); context.Record(time, options.DurationUnit); }
/// <inheritdoc /> public TimerContext Time(TimerOptions options, MetricTags tags, string userValue) { return(_registry.Timer( options, tags, () => _timerBuilder.Build( options.Reservoir, _clock)). NewContext(userValue)); }
/// <inheritdoc /> public void Time(TimerOptions options, Action action, string userValue) { using ( _registry.Timer( options, () => _timerBuilder.Build(options.Reservoir, _clock)). NewContext(userValue)) { action(); } }
/// <inheritdoc /> public void Time(TimerOptions options, MetricTags tags, Action action) { using ( _registry.Timer( options, tags, () => _timerBuilder.Build(options.Reservoir, _clock)). NewContext()) { action(); } }
public ITimer Instance <T>(TimerOptions options, MetricTags tags, Func <T> builder) where T : ITimerMetric { return(_registry.Timer(options, tags, builder)); }