public void StopTimer(string timerName) { if (!Dimensions.IsValidName(timerName)) { MetricsManager.ReportError($"Invalid timer name {timerName}"); return; } if (!_metrics.ContainsKey(timerName)) { return; } if (_metrics.TryGetValue(timerName, out var metric) && metric is ITimer tim) { tim.StopTimer(); } }
public void IncrementCounter(string counterName, int value) { if (!Dimensions.IsValidName(counterName)) { MetricsManager.ReportError($"Invalid counter name: {counterName}"); return; } if (_metrics.ContainsKey(counterName)) { if (_metrics.TryGetValue(counterName, out var mtrc) && mtrc is ICounter cntr) { cntr.IncrementCounter(value); } return; } var counter = new Counter(); counter.IncrementCounter(value); _metrics.TryAdd(counterName, counter); }
public TimerMetric StartTimer(string timerName) { if (!Dimensions.IsValidName(timerName)) { MetricsManager.ReportError($"Invalid timer name {timerName}"); return(null); } if (_metrics.ContainsKey(timerName)) { if (_metrics.TryGetValue(timerName, out var metric) && metric is ITimer tim) { tim.StartTimer(); return(new TimerMetric(this, timerName)); } } var timer = new Timer(); timer.StartTimer(); _metrics.TryAdd(timerName, timer); return(new TimerMetric(this, timerName)); }
public void Record(string metricName, decimal value, Unit unit) { if (!Dimensions.IsValidName(metricName)) { MetricsManager.ReportError($"Invalid metric name: {metricName}"); return; } if (_metrics.ContainsKey(metricName)) { if (_metrics.TryGetValue(metricName, out var metric) && metric is IRecorder rec) { rec.Record(value, unit); } return; } var recorder = new Recorder(unit); recorder.Record(value, unit); _metrics.TryAdd(metricName, recorder); }