/// <summary> /// 从InfluxDB中读取数据 /// </summary> public async void GetData() { //从指定库中查询数据 var response = await InfluxDbClientHelper.QueryAsync(" SELECT * FROM win_net WHERE time> now() - 120s"); //从集合中取出第一条数据 Dictionary <string, ObservableCollection <TelegrafChartTool.NetTimeInfo> > sendDictionary = new Dictionary <string, ObservableCollection <NetTimeInfo> >(); Dictionary <string, ObservableCollection <TelegrafChartTool.NetTimeInfo> > receiveDictionary = new Dictionary <string, ObservableCollection <NetTimeInfo> >(); foreach (var valueList in response.Values) { if (!sendDictionary.ContainsKey(valueList[9].ToString())) { sendDictionary.Add(valueList[9].ToString(), new ObservableCollection <NetTimeInfo>()); } sendDictionary[valueList[9].ToString()].Add(new TelegrafChartTool.NetTimeInfo() { Category = $"{(int)(DateTime.UtcNow - (DateTime)valueList[0]).TotalSeconds}s", Value = double.Parse(valueList[1].ToString()) }); if (!receiveDictionary.ContainsKey(valueList[9].ToString())) { receiveDictionary.Add(valueList[9].ToString(), new ObservableCollection <NetTimeInfo>()); } receiveDictionary[valueList[9].ToString()].Add(new TelegrafChartTool.NetTimeInfo() { Category = $"{(int)(DateTime.UtcNow - (DateTime)valueList[0]).TotalSeconds}s", Value = double.Parse(valueList[2].ToString()) }); } SendTimeInfos = new ObservableCollection <TelegrafChartTool.NetTimeInfo>(sendDictionary[response.Values[0][9].ToString()]); ReceiveTimeInfos = new ObservableCollection <TelegrafChartTool.NetTimeInfo>(receiveDictionary[response.Values[0][9].ToString()]); }
/// <summary> /// 从InfluxDB中读取数据 /// </summary> public async void GetData() { //从指定库中查询数据 var response = await InfluxDbClientHelper.QueryAsync(" SELECT * FROM win_disk WHERE time> now() - 60s"); //从集合中取出第一条数据 Dictionary <string, ObservableCollection <TelegrafChartTool.CpuTimeInfo> > dictionary = new Dictionary <string, ObservableCollection <CpuTimeInfo> >(); foreach (var valueList in response.Values) { if (!dictionary.ContainsKey(valueList[9].ToString())) { dictionary.Add(valueList[9].ToString(), new ObservableCollection <CpuTimeInfo>()); } dictionary[valueList[9].ToString()].Add(new TelegrafChartTool.CpuTimeInfo() { Category = $"{(int)(DateTime.UtcNow - (DateTime)valueList[0]).TotalSeconds}s", Value = 100.0 - double.Parse(valueList[7].ToString()) }); } var cpuTimeInfos = dictionary[response.Values[0][9].ToString()]; CpuTimeInfos = new ObservableCollection <TelegrafChartTool.CpuTimeInfo>(cpuTimeInfos); if (cpuTimeInfos.Any(i => i.Value > MaxCpuValue)) { ErrorText = $"当前最高{cpuTimeInfos.Max(i => i.Value)}超过阈值{MaxCpuValue}"; } }
/// <summary> /// 从InfluxDB中读取数据 /// </summary> public async void GetData() { //从指定库中查询数据 var response = await InfluxDbClientHelper.QueryAsync(" SELECT * FROM win_disk WHERE time> now() - 5m "); //从集合中取出第一条数据 //var info_model = response.FirstOrDefault(); }