public void GlobalCounterTest()
        {
            var meter = Metering.GetGlobalMeter();

            meter.Counter("counter-stat", 1);
            meter.Counter("counter-stat", 2);
            meter.Counter("counter-stat", 3);
        }
        public override async Task OnActionExecutingAsync(HttpActionContext actionContext,
                                                          CancellationToken cancellationToken)
        {
            _meter     = Metering.GetGlobalMeter();
            _stopwatch = new Stopwatch();
            _stopwatch.Start();
            AddCountMetric("count");       //meters the count of api call

            await base.OnActionExecutingAsync(actionContext, cancellationToken);
        }
        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 GlobalGaugeTest()
        {
            var meter = Metering.GetGlobalMeter();

            meter.Gauge("gauge-stat", 10);
        }
        public void GlobalMeteringTest()
        {
            var meter = Metering.GetGlobalMeter();

            meter.Meter("meter-stat");
        }
 public void BookingEngineMetricTest()
 {
     Metering.GetGlobalMeter().Meter("booking-meter");
     Metering.GetGlobalMeter().Counter("booking-counter", 1);
     Metering.GetGlobalMeter().Gauge("booking-gauge", 10);
 }