Home 소개       다운로드       온라인 설명서      주식/코인 차트    Q & A     Blog    

CPU 사용률 차트 - 실시간 차트







CPU Usage 를 실시간으로 읽어 그리는 코드입니다




멀티 시리즈 실시간 차트  히포차트 실시간 차트에 대한 고찰(?)  CPU 사용률 차트 - 실시간 차트  실시간 차트를 그리는 다른 방법 (Tip)  [기본] 실시간 차트 그리기 (히포차트 4.2 이상)  히포차트 4.3 - 실시간 차트 기본 샘플 (기초 이론)  


C#
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Hippo;
using Hippo.WindowsForm4;
using System.Diagnostics;


namespace StackedRealTest
{
public partial class Form1 : Form
{
PerformanceCounter p;
SeriesList slist;
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
// 타이머
this.timer1.Interval = 1000;
this.timer1.Start();

// 성능 카운터에서 CPU값을 받아오기 위한 설정사항
p = new PerformanceCounter();
p.CategoryName = "Processor";
p.CounterName = "% Processor Time";
p.InstanceName = "_Total";

slist = new SeriesList();
slist.SeriesCollection.Add(new Series());

slist.SeriesCollection[0].SeriesColor = Color.Lime;

// 히포차트 3.0 이상 버전 부터는 아래 코드를 삽입해야합니다.
// 시리즈의 개수만큼 똑같이 추가합니다.
this.hHippoChart1.RealTimeList.Add(new HippoRealTimeAttribute());


// 작업관리자처럼 디자인
slist.AxisFactor.YAxis.Line.LineColor = Color.DarkGreen;
slist.AxisFactor.XAxis.Line.LineColor = Color.DarkGreen;
slist.GraphArea.Grid.GridLine.LineColor = Color.Green;
slist.AxisFactor.YAxis.ForeColor = Color.Green;
slist.AxisFactor.XAxis.ForeColor = Color.Green;
slist.GraphArea.BackColor = Color.Black;

// 축 숫자와 눈금 없애기
slist.AxisFactor.YAxis.IsShowTick = false;
slist.AxisFactor.YAxis.IsVisibleFigures = false;
slist.AxisFactor.XAxis.IsShowTick = false;
slist.AxisFactor.XAxis.IsVisibleFigures = false;

// 축을 0 ~ 100%로 고정
slist.AxisFactor.YAxis.IsAutoSetting = false;
slist.AxisFactor.YAxis.MaxUnitValue = 100;
slist.AxisFactor.YAxis.MinUnitValue = 0;
slist.AxisFactor.YAxis.Interval = 10;

this.hHippoChart1.Designer.InnerBackColor = Color.Black;
this.hHippoChart1.LegendBox.Visible = false;
this.hHippoChart1.DesignType = ChartDesignType.None;

this.hHippoChart1.SeriesListDictionary.Add(slist);
}

private void timer1_Tick(object sender, EventArgs e)
{
float thisCpuvalue = p.NextValue();

this.hHippoChart1.DrawRealTimeChart(thisCpuvalue, 50);
}
}
}


VB
 
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports Hippo
Imports Hippo.WindowsForm4
Imports System.Diagnostics


Namespace StackedRealTest
Public Partial Class Form1
Inherits Form
Private p As PerformanceCounter
Private slist As SeriesList
Public Sub New()
InitializeComponent()
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs)
` 타이머
Me.timer1.Interval = 1000
Me.timer1.Start()

` 성능 카운터에서 CPU값을 받아오기 위한 설정사항
p = New PerformanceCounter()
p.CategoryName = "Processor"
p.CounterName = "% Processor Time"
p.InstanceName = "_Total"

slist = New SeriesList()
slist.SeriesCollection.Add(New Series())

slist.SeriesCollection(0).SeriesColor = Color.Lime

` 히포차트 3.0 이상 버전 부터는 아래 코드를 삽입해야합니다.
` 시리즈의 개수만큼 똑같이 추가합니다.
Me.hHippoChart1.RealTimeList.Add(New HippoRealTimeAttribute())


` 작업관리자처럼 디자인
slist.AxisFactor.YAxis.Line.LineColor = Color.DarkGreen
slist.AxisFactor.XAxis.Line.LineColor = Color.DarkGreen
slist.GraphArea.Grid.GridLine.LineColor = Color.Green
slist.AxisFactor.YAxis.ForeColor = Color.Green
slist.AxisFactor.XAxis.ForeColor = Color.Green
slist.GraphArea.BackColor = Color.Black

` 축 숫자와 눈금 없애기
slist.AxisFactor.YAxis.IsShowTick = False
slist.AxisFactor.YAxis.IsVisibleFigures = False
slist.AxisFactor.XAxis.IsShowTick = False
slist.AxisFactor.XAxis.IsVisibleFigures = False

` 축을 0 ~ 100%로 고정
slist.AxisFactor.YAxis.IsAutoSetting = False
slist.AxisFactor.YAxis.MaxUnitValue = 100
slist.AxisFactor.YAxis.MinUnitValue = 0
slist.AxisFactor.YAxis.Interval = 10

Me.hHippoChart1.Designer.InnerBackColor = Color.Black
Me.hHippoChart1.LegendBox.Visible = False
Me.hHippoChart1.DesignType = ChartDesignType.None

Me.hHippoChart1.SeriesListDictionary.Add(slist)
End Sub

Private Sub timer1_Tick(sender As Object, e As EventArgs)
Dim thisCpuvalue As Single = p.NextValue()

Me.hHippoChart1.DrawRealTimeChart(thisCpuvalue, 50)
End Sub
End Class
End Namespace



※ 히포차트 샘플 코드는 버전별로 상이한 결과를 나타낼 수 있습니다.

이 코드 관련 문의 사항은 페이스북 리플을 달아주시거나 아래 이메일로 이 페이지 주소와 함께 문의주세요.

helpdesk@hippochart.com





Copyright © 2009-2018 투데이트레이딩. Inc.  All Rights Reserved.