public void CacheAccessWithPerformanceCountersDisabledDoesnNotUpdateCounters()
        {
            CachingInstrumentationListener listener
                = new CachingInstrumentationListener(instanceName, false, false, false, formatter);

            CacheAccessedEventArgs args = new CacheAccessedEventArgs("key", true);

            listener.CacheAccessed(null, args);

            Assert.AreEqual(0L, cacheHitsCounter.RawValue);
            Assert.AreEqual(0L, cacheMissesCounter.RawValue);
            Assert.AreEqual(0f, cacheHitRatioCounter.NextValue(), 0.01f);
            Assert.AreEqual(0L, cacheAccessAttemptsCounter.RawValue);
        }
        public void CacheAccessWithPerformanceCountersDisabledDoesnNotUpdateCounters()
        {
            CachingInstrumentationListener listener
                = new CachingInstrumentationListener(instanceName, false, false, false, formatter);

            CacheAccessedEventArgs args = new CacheAccessedEventArgs("key", true);

            listener.CacheAccessed(null, args);

            Assert.AreEqual(0L, cacheHitsCounter.RawValue);
            Assert.AreEqual(0L, cacheMissesCounter.RawValue);
            Assert.AreEqual(0f, cacheHitRatioCounter.NextValue(), 0.01f);
            Assert.AreEqual(0L, cacheAccessAttemptsCounter.RawValue);
        }
        public void MultipleCacheAccessWithPerformanceCountersEnabledDoesUpdateCounters()
        {
            CachingInstrumentationListener listener
                = new CachingInstrumentationListener(instanceName, true, false, false, formatter);

            CacheAccessedEventArgs hitArgs  = new CacheAccessedEventArgs("key", true);
            CacheAccessedEventArgs missArgs = new CacheAccessedEventArgs("key", false);

            for (int i = 0; i < 10; i++)
            {
                listener.CacheAccessed(null, hitArgs);
                listener.CacheAccessed(null, missArgs);
                listener.CacheAccessed(null, hitArgs);
            }

            Assert.AreEqual(20L, cacheHitsCounter.RawValue);
            Assert.AreEqual(10L, cacheMissesCounter.RawValue);
            Assert.AreEqual(66.666f, cacheHitRatioCounter.NextValue(), 0.01f);
            Assert.AreEqual(30L, cacheAccessAttemptsCounter.RawValue);
        }
 public void CacheAccessed(object sender, CacheAccessedEventArgs args)
 {
     SaveEventArgs(args);
 }
        public void MultipleCacheAccessWithPerformanceCountersEnabledDoesUpdateCounters()
        {
            CachingInstrumentationListener listener
                = new CachingInstrumentationListener(instanceName, true, false, false, formatter);

            CacheAccessedEventArgs hitArgs = new CacheAccessedEventArgs("key", true);
            CacheAccessedEventArgs missArgs = new CacheAccessedEventArgs("key", false);

            for (int i = 0; i < 10; i++)
            {
                listener.CacheAccessed(null, hitArgs);
                listener.CacheAccessed(null, missArgs);
                listener.CacheAccessed(null, hitArgs);
            }

            Assert.AreEqual(20L, cacheHitsCounter.RawValue);
            Assert.AreEqual(10L, cacheMissesCounter.RawValue);
            Assert.AreEqual(66.666f, cacheHitRatioCounter.NextValue(), 0.01f);
            Assert.AreEqual(30L, cacheAccessAttemptsCounter.RawValue);
        }