CK.Monitoring.Tests.StressTests.RunContext.RunAndGetPerfTraceCount C# (CSharp) Method

RunAndGetPerfTraceCount() public method

public RunAndGetPerfTraceCount ( Action a ) : int
a Action
return int
            public int RunAndGetPerfTraceCount( Action<RunContext, IActivityMonitor, Random> a )
            {
                _perfTraceCount = 0;
                CK.Monitoring.GrandOutputHandlers.FakeHandler.HandlePerfTraceCount = 0;
                CK.Monitoring.GrandOutputHandlers.FakeHandler.TotalHandleCount = 0;
                CK.Monitoring.GrandOutputHandlers.FakeHandler.SizeHandled = 0;

                for( int i = 0; i < TotalThreadCount - _newThreadCount; ++i ) ThreadPool.QueueUserWorkItem( Run, a );
                for( int i = 0; i < _newThreadCount; ++i ) new Thread( Run ).Start( a );
                Barrier.SignalAndWait();
                Barrier.SignalAndWait();
                Assert.That( Barrier.ParticipantsRemaining, Is.EqualTo( Barrier.ParticipantCount ) );
                return _perfTraceCount;
            }