/// <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); }
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); }