public Interval(TimeSpan period, IEnumerable<ISendInfo> sinks, IMachineNameProvider machineNameProvider, ICounterIdentifierGenerator counterIdentifierGenerator) { _period = period; _sinks = sinks; _machineNameProvider = machineNameProvider; _counterIdentifierGenerator = counterIdentifierGenerator; _timer = new Timer(Tick, null, Timeout.InfiniteTimeSpan, period); _readers = new List<Reader>(); }
internal Reader(CounterDefinition definition, IMachineNameProvider machineNameProvider, ICounterIdentifierGenerator counterIdentifierGenerator) { _definition = definition; _machineNameProvider = machineNameProvider; _counterIdentifierGenerator = counterIdentifierGenerator; if (_definition == null || _definition.CategoryName.IsEmpty() || _definition.CounterName.IsEmpty()) { Logger.Error("Invalid Counter Definition"); throw new ArgumentException("definition"); } _counter = new PerformanceCounter(definition.CategoryName, definition.CounterName, definition.InstanceName, true); }
public Collector(ISupplyCounterDefinitions definitionSupplier, IEnumerable<ISendInfo> sinks, IMachineNameProvider machineNameProvider = null, ICounterIdentifierGenerator counterIdentifierGenerator = null) { SetSupplier(definitionSupplier); SetMachineNameProvider(machineNameProvider); SetCounterIdentifierGenerator(counterIdentifierGenerator); _sinks = sinks.ToList(); try { if (_definitionSupplier == null) { Logger.Error("No definition supplier specified!"); throw new ArgumentException("definitionSupplier"); } ConfigureReaders(_sinks); } catch (Exception ex) { Logger.ErrorFormat("error trying to configure the collector {@exception}", ex); throw; } }
private void SetCounterIdentifierGenerator(ICounterIdentifierGenerator counterIdentifierGenerator) { _counterIdentifierGenerator = counterIdentifierGenerator ?? new DefaultCounterIdentifierGenerator(); }