Using Queue
来源:互联网 发布:七天教育网络查分 编辑:程序博客网 时间:2024/06/05 01:57
protected monitor.monitorSoapClient client; protected Queue<float> CPU30; protected Queue<float> MEM30; protected Queue<String> TIME30; protected void Page_Load(object sender, EventArgs e) { if (Session["time"] == null) { TIME30 = new Queue<String>(); CPU30 = new Queue<float>(); MEM30 = new Queue<float>(); Session.Add("time", TIME30); Session.Add("cpu", CPU30); Session.Add("mem", MEM30); } else { TIME30 = (Queue<String>)Session["time"]; CPU30 = (Queue<float>)Session["cpu"]; MEM30 = (Queue<float>)Session["mem"]; } client = new monitor.monitorSoapClient(); } protected void Timer1_Tick(object sender, EventArgs e) { float cpu = client.getHostCpuUsage(); float mem = client.getHostMemUsage(); String time = DateTime.Now.ToUniversalTime().ToString(); Label1.Text = time + "<br/>CPU Usage: " + cpu + "% <BR/>" + "MEM Usage: " + mem + "MB<br/>"; CPU30.Enqueue(cpu); MEM30.Enqueue(mem); TIME30.Enqueue(time); if (TIME30.Count > 10) TIME30.Dequeue(); if (MEM30.Count > 10) MEM30.Dequeue(); if (CPU30.Count > 10) CPU30.Dequeue(); Label1.Text += "first cpu:" + CPU30.Peek().ToString() + ".. first mem:" + MEM30.Peek().ToString() + ".. time:" + TIME30.Peek() + ".. count:" + TIME30.Count; }