private void HandleApiMetering(LogEventArgs logEventArgs)
        {
            if (string.IsNullOrWhiteSpace(ApiMeterPrefix))
            {
                return;
            }

            IMeter meter = Metering.GetGlobalMeter();

            if (meter == null)
            {
                return;
            }

            int httpStatusCode = (int)logEventArgs.HttpStatusCode;

            if (httpStatusCode >= 500)
            {
                meter.Meter($"{ApiMeterPrefix}.failure");
            }
            meter.Meter($"{ApiMeterPrefix}.count");
            meter.Timer($"{ApiMeterPrefix}.latency", TimeSpan.FromSeconds(logEventArgs.TimeTakenInSeconds));
        }
 public void Meter(string name)
 {
     AsyncTasks.Run(() => _meter.Meter(name), "metering");
 }
        private void AddCountMetric(string metricName)
        {
            var key = string.IsNullOrEmpty(metricName) ? _meterKeyPrefix : $"{_meterKeyPrefix}.{metricName}";

            _meter.Meter(key);
        }