/// <summary>
        /// Registers the new counter object.
        /// </summary>
        /// <param name="telemetryClient">Telemetry client to associate the counter with.</param>
        /// <param name="name">Name of the counter.</param>
        /// <returns>Returns the counter implementation.</returns>
        public static ICounter Counter(this TelemetryClient telemetryClient, string name)
        {
            var counter = new CounterImplementation(name, telemetryClient.Context);

            var configuration = GetConfigurationFromClient(telemetryClient);

            configuration.RegisterCounter(counter);

            return counter;
        }
        public void CounterIncrementWorks()
        {
            var counter = new CounterImplementation("test", new TelemetryContext());

            for (int i = 0; i < 10; i++)
            {
                counter.Increment();
            }

            Assert.AreEqual(10, counter.GetValueAndReset().Value);
        }
Пример #3
0
        public void CounteDecrementByValueWorks()
        {
            var counter = new CounterImplementation("test", new TelemetryContext());

            for (int i = 0; i < 10; i++)
            {
                counter.Decrement(2);
            }

            Assert.AreEqual(-20, counter.GetValueAndReset().Value);
        }
        public void CounteResetDoNotSetValueToZero()
        {
            var counter = new CounterImplementation("test", new TelemetryContext());

            for (int i = 0; i < 10; i++)
            {
                counter.Decrement(2);
            }

            Assert.AreEqual(-20, counter.GetValueAndReset().Value);
            Assert.AreEqual(-20, counter.GetValueAndReset().Value);
        }