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