Пример #1
0
 /// <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;
 }
Пример #2
0
 public CounterData(PerformanceCounter counter, CustomType type, DealDataHandler func)
 {
     Counter       = counter;
     EquipmentName = counter.InstanceName;
     CounterName   = counter.CounterName;
     CategoryName  = counter.CategoryName;
     Type          = type;
     Func          = func;
 }
Пример #3
0
 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];
     }
 }
Пример #4
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));
        }
Пример #5
0
 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));
     }
 }