/// <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)));
 }
示例#3
0
 /// <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);
        }
示例#5
0
 /// <inheritdoc />
 public TimerContext Time(TimerOptions options, MetricTags tags, string userValue)
 {
     return(_registry.Timer(
                options,
                tags,
                () => _timerBuilder.Build(
                    options.Reservoir,
                    _clock)).
            NewContext(userValue));
 }
示例#6
0
 /// <inheritdoc />
 public void Time(TimerOptions options, Action action, string userValue)
 {
     using (
         _registry.Timer(
             options,
             () => _timerBuilder.Build(options.Reservoir, _clock)).
         NewContext(userValue))
     {
         action();
     }
 }
示例#7
0
 /// <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));
 }