public MetricWritten(DateTimeOffset when, Metric <T> metric, MetricPath path, T value) { When = when; Metric = metric; Path = path; Value = value; }
public bool StopMeasuring(MetricPath path = default(MetricPath)) { Stopwatch stopwatch; if (_stopwatches.TryRemove(path, out stopwatch)) { Append(stopwatch.Elapsed, path); return(true); } return(false); }
public void DecrementBy(long count, MetricPath path = default(MetricPath)) => AppendWrite(current => current + count, path);
public void Decrement(MetricPath path = default(MetricPath)) => AppendWrite(current => current - 1, path);
public void StartMeasuring(MetricPath path = default(MetricPath)) => _stopwatches[path] = Stopwatch.StartNew();
public IDisposable Measure(MetricPath path = default(MetricPath)) { var stopwatch = Stopwatch.StartNew(); return(Disposal.Of(() => Append(stopwatch.Elapsed, path))); }
public void SetInactive(MetricPath path = default(MetricPath)) => AppendWrite(false, path);
public void Set(long count, MetricPath path = default(MetricPath)) => AppendWrite(count, path);
public void Set(double amount, MetricPath path = default(MetricPath)) => AppendWrite(amount, path);
public IDisposable IncrementDuringBy(double amount, MetricPath path = default(MetricPath)) { IncrementBy(amount, path); return(Disposal.Of(() => DecrementBy(amount, path))); }
public void DecrementBy(double amount, MetricPath path = default(MetricPath)) => AppendWrite(current => current - amount, path);
public void Set(bool active, MetricPath path = default(MetricPath)) => AppendWrite(active, path);
public IDisposable SetInactiveDuring(MetricPath path = default(MetricPath)) => SetDuring(false, path);
public IDisposable SetActiveDuring(MetricPath path = default(MetricPath)) => SetDuring(true, path);
public IDisposable SetDuring(bool active, MetricPath path = default(MetricPath)) { Set(active, path); return(Disposal.Of(() => Set(!active, path))); }
public IDisposable DecrementDuring(MetricPath path = default(MetricPath)) { Decrement(path); return(Disposal.Of(() => Increment(path))); }
public IDisposable DecrementDuringBy(long count, MetricPath path = default(MetricPath)) { DecrementBy(count, path); return(Disposal.Of(() => IncrementBy(count, path))); }
public void Append(double seconds, MetricPath path = default(MetricPath)) => AppendWrite(seconds, path);
public void Append(TimeSpan duration, MetricPath path = default(MetricPath)) => AppendWrite(duration.TotalSeconds, path);
public void SetActive(MetricPath path = default(MetricPath)) => AppendWrite(true, path);