Ejemplo n.º 1
0
        public void ShouldReplaceTokensInInstanceName()
        {
            string doSomethingInstanceName     = "Method DoSomething";
            string doSomethingElseInstanceName = "Method DoSomethingElse";

            ResetCounters(PerformanceCounterCallHandler.TotalInstanceName);
            ResetCounters(doSomethingInstanceName);
            ResetCounters(doSomethingElseInstanceName);

            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());

            callHandler.InstanceName = "Method {method}";
            MonitorTarget target = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetTotalCallCount());
            Assert.AreEqual(0L, GetNumberOfCallsCount(doSomethingInstanceName));
            Assert.AreEqual(0L, GetNumberOfCallsCount(doSomethingElseInstanceName));

            target.DoSomething();
            target.DoSomethingElse();
            target.DoSomething();
            target.DoSomething();
            target.DoSomethingElse();
            target.DoSomething();

            Assert.AreEqual(6L, GetTotalCallCount());
            Assert.AreEqual(4L, GetNumberOfCallsCount(doSomethingInstanceName));
            Assert.AreEqual(2L, GetNumberOfCallsCount(doSomethingElseInstanceName));
        }
Ejemplo n.º 2
0
        public void ShouldRecordOneCallInstance()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());
            MonitorTarget          target  = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetNumberOfCallsCount(TestInstanceName));
            target.DoSomething();
            Assert.AreEqual(1L, GetNumberOfCallsCount(TestInstanceName));
        }
Ejemplo n.º 3
0
        public void ShouldRecordOneCallTotal()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());
            MonitorTarget          target  = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetTotalCallCount());
            target.DoSomething();
            Assert.AreEqual(1L, GetTotalCallCount());
        }
        public void ShouldRecordOneCallInstance()
        {
            ResetCounters();
            IUnityContainer factory = GetConfiguredContainer();
            MonitorTarget   target  = factory.Resolve <MonitorTarget>();

            Assert.AreEqual(0L, GetNumberOfCallsCount(TestInstanceName));
            target.DoSomething();
            Assert.AreEqual(1L, GetNumberOfCallsCount(TestInstanceName));
        }
        public void ShouldRecordOneCallTotal()
        {
            ResetCounters();
            IUnityContainer factory = GetConfiguredContainer();
            MonitorTarget   target  = factory.Resolve <MonitorTarget>();

            Assert.AreEqual(0L, GetTotalCallCount());
            target.DoSomething();
            Assert.AreEqual(1L, GetTotalCallCount());
        }
        public void ShouldNotUpdateExceptionsPerSecondByDefault()
        {
            ResetCounters();
            IUnityContainer factory = GetConfiguredContainer();
            MonitorTarget   target  = factory.Resolve <MonitorTarget>();

            Assert.AreEqual(0L, GetExceptionsPerSecondCount(TestInstanceName));

            CauseExceptions(target);

            Assert.AreEqual(0L, GetExceptionsPerSecondCount(TestInstanceName));
        }
        public void ShouldDefaultToDisableExceptionCounter()
        {
            ResetCounters();
            IUnityContainer factory = GetConfiguredContainer();
            MonitorTarget   target  = factory.Resolve <MonitorTarget>();

            Assert.AreEqual(0L, GetNumberOfExceptionsCount(TestInstanceName));

            CauseExceptions(target);

            Assert.AreEqual(0L, GetNumberOfExceptionsCount(TestInstanceName));
        }
Ejemplo n.º 8
0
        public void ShouldNotUpdateExceptionsPerSecondByDefault()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());
            MonitorTarget          target  = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetExceptionsPerSecondCount(TestInstanceName));

            CauseExceptions(target);

            Assert.AreEqual(0L, GetExceptionsPerSecondCount(TestInstanceName));
        }
Ejemplo n.º 9
0
        public void ShouldDefaultToDisableExceptionCounter()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());
            MonitorTarget          target  = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetNumberOfExceptionsCount(TestInstanceName));

            CauseExceptions(target);

            Assert.AreEqual(0L, GetNumberOfExceptionsCount(TestInstanceName));
        }
        void CauseExceptions(MonitorTarget target)
        {
            int trigger = 0;

            for (int i = 0; i < 100; ++i)
            {
                try
                {
                    target.ThrowOnZero(trigger);
                }
                catch (ApplicationException) { }
                trigger = (trigger + 1) % 5;
            }
        }
        public void ShouldUpdateNumberOfExceptionsCounter()
        {
            ResetCounters();
            IUnityContainer factory = GetConfiguredContainer();

            callHandler.IncrementTotalExceptions = true;
            MonitorTarget target = factory.Resolve <MonitorTarget>();

            Assert.AreEqual(0L, GetNumberOfExceptionsCount(TestInstanceName));

            CauseExceptions(target);

            Assert.AreEqual(20L, GetNumberOfExceptionsCount(TestInstanceName));
        }
Ejemplo n.º 12
0
        public void ShouldUpdateNumberOfExceptionsCounter()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());

            callHandler.IncrementTotalExceptions = true;
            MonitorTarget target = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetNumberOfExceptionsCount(TestInstanceName));

            CauseExceptions(target);

            Assert.AreEqual(20L, GetNumberOfExceptionsCount(TestInstanceName));
        }
Ejemplo n.º 13
0
        public void ShouldBeAbleToDisableCallCount()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());

            callHandler.IncrementNumberOfCalls = false;
            MonitorTarget target = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetTotalCallCount());
            Assert.AreEqual(0L, GetNumberOfCallsCount(TestInstanceName));
            target.DoSomething();
            Assert.AreEqual(0L, GetNumberOfCallsCount(TestInstanceName));
            Assert.AreEqual(0L, GetTotalCallCount());
        }
        public void ShouldBeAbleToDisableCallCount()
        {
            ResetCounters();
            IUnityContainer factory = GetConfiguredContainer();

            callHandler.IncrementNumberOfCalls = false;
            MonitorTarget target = factory.Resolve <MonitorTarget>();

            Assert.AreEqual(0L, GetTotalCallCount());
            Assert.AreEqual(0L, GetNumberOfCallsCount(TestInstanceName));
            target.DoSomething();
            Assert.AreEqual(0L, GetNumberOfCallsCount(TestInstanceName));
            Assert.AreEqual(0L, GetTotalCallCount());
        }
        public void ShouldUpdateExceptionsPerSecond()
        {
            ResetCounters();
            IUnityContainer factory = GetConfiguredContainer();

            callHandler.IncrementExceptionsPerSecond = true;

            MonitorTarget target = factory.Resolve <MonitorTarget>();

            Assert.AreEqual(0L, GetExceptionsPerSecondCount(TestInstanceName));

            CauseExceptions(target);

            Assert.IsTrue(GetExceptionsPerSecondCount(TestInstanceName) > 0);
        }
Ejemplo n.º 16
0
        public void ShouldUpdateExceptionsPerSecond()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());

            callHandler.IncrementExceptionsPerSecond = true;

            MonitorTarget target = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetExceptionsPerSecondCount(TestInstanceName));

            CauseExceptions(target);

            Assert.IsTrue(GetExceptionsPerSecondCount(TestInstanceName) > 0);
        }
Ejemplo n.º 17
0
        public void ShouldUpdateCallsPerSecond()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());
            MonitorTarget          target  = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetCallsPerSecondCount(TestInstanceName));
            for (int i = 0; i < 100; ++i)
            {
                target.DoSomething();
            }

            // Timing is too unpredictable to check the actual value, but as long as we get something
            // other than zero we know the counter is updating.
            Assert.IsTrue(GetCallsPerSecondCount(TestInstanceName) > 0);
        }
        public void ShouldUpdateCallsPerSecond()
        {
            ResetCounters();
            IUnityContainer factory = GetConfiguredContainer();
            MonitorTarget   target  = factory.Resolve <MonitorTarget>();

            Assert.AreEqual(0L, GetCallsPerSecondCount(TestInstanceName));
            for (int i = 0; i < 100; ++i)
            {
                target.DoSomething();
            }

            // Timing is too unpredictable to check the actual value, but as long as we get something
            // other than zero we know the counter is updating.
            Assert.IsTrue(GetCallsPerSecondCount(TestInstanceName) > 0);
        }
Ejemplo n.º 19
0
        public void ShouldUpdateAverageCallsPerSecond()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());

            MonitorTarget target = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetAverageCallDurationCount(TestInstanceName));

            for (int i = 0; i < 500; ++i)
            {
                target.DoSomethingElse();
            }

            // Again, we just want to see change, actual value is too unpredictable
            Assert.IsTrue(GetAverageCallDurationCount(TestInstanceName) > 0);
        }
Ejemplo n.º 20
0
        public void ShouldBeAbleToDisableAverageCallsPerSecond()
        {
            ResetCounters();
            RemotingPolicyInjector factory = new RemotingPolicyInjector(GetPerfMonPolicies());

            callHandler.IncrementAverageCallDuration = false;

            MonitorTarget target = factory.Create <MonitorTarget>();

            Assert.AreEqual(0L, GetAverageCallDurationCount(TestInstanceName));

            for (int i = 0; i < 500; ++i)
            {
                target.DoSomethingElse();
            }

            Assert.AreEqual(0L, GetAverageCallDurationCount(TestInstanceName));
        }
 void CauseExceptions(MonitorTarget target)
 {
     int trigger = 0;
     for (int i = 0; i < 100; ++i)
     {
         try
         {
             target.ThrowOnZero(trigger);
         }
         catch (ApplicationException) { }
         trigger = (trigger + 1) % 5;
     }
 }