Example #1
0
        /// <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()]);
        }
Example #2
0
        /// <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();
        }