public PerformanceAnalyticsCounter(DevicePerformanceCounter deviceCounter) : base(deviceCounter) { _performanceCounter = new PerformanceCounter(deviceCounter.Category, deviceCounter.Name, deviceCounter.InstanceName); _readings = new List <float>(); }
public bool AddNewMetric(CounterCreate model) { var device = _context.Devices.FirstOrDefault(d => d.Id == model.DeviceId); //var mapped = Mapper.Map<MetricBase, DeviceCounterBase>(model.Metric); //if (mapped is DevicePerformanceCounter) //{ // _context.PerformanceCounterDefinitions.Attach(((DevicePerformanceCounter) mapped).CounterDefinition); //} //mapped.Device = device; //_context.DeviceCounters.Add(mapped); //_context.SaveChanges(); // var metric = (PerformanceCounterMetric)model.Metric; var definition = _context.PerformanceCounterDefinitions.FirstOrDefault(d => d.Id == model.CounterDefinitifionId); //if (definition.InstanceName == null) //{ // metric.InstanceName = string.Empty; //} DeviceCounterBase counter = new DevicePerformanceCounter { Device = device, LogInterval = model.Metric.LogInterval, ReadInterval = model.Metric.ReadInterval, MaxThreshold = model.Metric.MaxThreshold, MinThreshold = model.Metric.MinThreshold, CounterDefinition = definition, InstanceName = "", Deleted = 0 }; _context.DeviceCounters.Add(counter); _context.SaveChanges(); return(true); }