예제 #1
0
        public void SetUp()
        {
            _compositeTestAgent = new CompositeTestAgent();

            _scheduler = Mock.Create <IScheduler>();

            Mock.Arrange(() => _scheduler.ExecuteEvery(Arg.IsAny <Action>(), Arg.IsAny <TimeSpan>(), Arg.IsAny <TimeSpan?>()))
            .DoInstead <Action, TimeSpan, TimeSpan?>((action, _, __) => _sampleAction = action);

            _perfCounterProxyFactory = Mock.Create <IPerformanceCounterProxyFactory>();
        }
예제 #2
0
        public GcSampler(IScheduler scheduler, IGcSampleTransformer gcSampleTransformer, IPerformanceCounterProxyFactory pcProxyFactory)
            : base(scheduler, TimeSpan.FromSeconds(GcSampleIntervalSeconds))
        {
            _pcProxyFactory = pcProxyFactory;
            _transformer    = gcSampleTransformer;

            //Assign functions to handle the values for the different performance counters collected.
            _perfCounterValueHandlers = new Dictionary <GCSampleType, Func <IPerformanceCounterProxy, float> >()
            {
                { GCSampleType.Gen0Size, GetPerfCounterValue_Raw },
                { GCSampleType.Gen0Promoted, GetPerfCounterValue_Raw },
                { GCSampleType.Gen1Size, GetPerfCounterValue_Raw },
                { GCSampleType.Gen1Promoted, GetPerfCounterValue_Raw },
                { GCSampleType.Gen2Size, GetPerfCounterValue_Raw },
                { GCSampleType.LOHSize, GetPerfCounterValue_Raw },
                { GCSampleType.HandlesCount, GetPerfCounterValue_Raw },
                { GCSampleType.InducedCount, GetPerfCounterValue_InducedCount },
                { GCSampleType.PercentTimeInGc, GetPerfCounterValue_Raw },
                { GCSampleType.Gen0CollectionCount, GetPerfCounterValue_Gen0CollectionCount },
                { GCSampleType.Gen1CollectionCount, GetPerfCounterValue_Gen1CollectionCount },
                { GCSampleType.Gen2CollectionCount, GetPerfCounterValue_Gen2CollectionCount }
            };
        }