public PublisherEngine(ICounterPublisher counterPublisher, ISendBusiness sendBusiness, ITagLoader tagLoader) { _counterPublisher = counterPublisher; _sendBusiness = sendBusiness; _tags = tagLoader.GetGlobalTags(); //.Union(_performanceCounterGroup.Tags).ToArray(); if (counterPublisher.SecondsInterval > 0) { _timer = new Timer(1000 * counterPublisher.SecondsInterval); _timer.Elapsed += Elapsed; } _perfCounter = SetupCategory(); //_perfCounter = new PerformanceCounter(_counterPublisher.CategoryName, _counterPublisher.CounterName, false) { RawValue = _counterPublisher.GetValue() }; }
public async Task RunAsync(IPerformanceCounterGroup[] counterGroups, ICounterPublisher[] counterPublishers, bool metadata) { if (counterGroups != null) { foreach (var counterGroup in counterGroups) { var engine = GetCollectorEngine(counterGroup, counterGroup.CollectorEngineType, metadata); engine.CollectRegisterCounterValuesEvent += CollectRegisterCounterValuesEvent; await engine.StartAsync(); } } if (counterPublishers != null) { foreach (var counterPublisher in counterPublishers) { var engine = GetPublisherEngine(counterPublisher); engine.PublishRegisterCounterValuesEvent += PublishRegisterCounterValuesEvent; await engine.StartAsync(); } } }
private IPublisherEngine GetPublisherEngine(ICounterPublisher counterPublisher) { return new PublisherEngine(counterPublisher, _sendBusiness, _tagLoader); }
private IPublisherEngine GetPublisherEngine(ICounterPublisher counterPublisher) { return(new PublisherEngine(counterPublisher, _sendBusiness, _tagLoader)); }