/// <summary> /// 计数器构造函数 /// </summary> /// <param name="categoryName">计数器类别</param> /// <param name="counterName">计数器名称</param> /// <param name="type">计数类型</param> /// <param name="func">处理数值和单位的函数</param> /// <param name="equipmentName">设备名</param> public CounterConfig(string categoryName, string counterName, CustomType type, DealDataHandler func = null, string equipmentName = null) { CategoryName = categoryName; CounterName = counterName; Type = type; Func = func; EquipmentName = equipmentName; }
public CounterData(PerformanceCounter counter, CustomType type, DealDataHandler func) { Counter = counter; EquipmentName = counter.InstanceName; CounterName = counter.CounterName; CategoryName = counter.CategoryName; Type = type; Func = func; }
public CountersResult(CounterData data) { CurrentCount = data.Value; OldCount = data.OldValue; CategoryName = data.CategoryName; CounterName = data.CounterName; InstanceName = data.EquipmentName; Count = data.Count; Value = Count; Type = data.Type; Func = data.Func; Func?.Invoke(Count, out Value, out Unit); if (string.IsNullOrEmpty(Unit)) { Unit = data.Counter.CounterName.Split(' ')[0]; } }
public void InitThread() { GetDataHandler getdata = new GetDataHandler(GetData); Thread1 = new Thread(new ThreadStart(getdata)); DealDataHandler dealdata = new DealDataHandler(DealData); Thread2 = new Thread(new ThreadStart(dealdata)); ConvertDataHandler convertdata = new ConvertDataHandler(ConvertData); Thread3 = new Thread(new ThreadStart(convertdata)); ShowDataHandler showdata = new ShowDataHandler(ShowData); Thread4 = new Thread(new ThreadStart(showdata)); }
public CounterSets(CounterConfig info) { Type = info.Type; Func = info.Func; CategoryName = info.CategoryName; CounterName = info.CounterName; InstanceName = info.EquipmentName; if (info.EquipmentName == null) { PerformanceCounterCategory category = new PerformanceCounterCategory(CategoryName); foreach (string name in category.GetInstanceNames()) { CounterDatas.Add(new CounterData(new PerformanceCounter(CategoryName, CounterName, name), Type, Func)); } } else { CounterDatas.Add(new CounterData(new PerformanceCounter(CategoryName, CounterName, InstanceName), Type, Func)); } }