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