Programming/C# & Unity
C# perfmon 샘플 코드
장형이
2023. 8. 26. 01:13
internal class Program
{
const string CategoryName = "JangHyeong";
const string CounterName = "Test";
static private bool looping = true;
// 1초마다 0~99 사이의 값으로 카운터를 남긴다.
static void Loop()
{
var random = new Random();
var counter = new PerformanceCounter(CategoryName, CounterName, false);
while (looping)
{
counter.RawValue = random.Next(100);
Thread.Sleep(1000);
}
}
static void Main(string[] args)
{
// 없으면 카운터를 생성한다.
if (PerformanceCounterCategory.Exists(CategoryName) == false)
{
CounterCreationData testCounterCreationData = new CounterCreationData();
testCounterCreationData.CounterName = CounterName;
testCounterCreationData.CounterType = PerformanceCounterType.NumberOfItems32;
var jangHyeongCounters = new CounterCreationDataCollection();
jangHyeongCounters.Add(testCounterCreationData);
PerformanceCounterCategory.Create(CategoryName, "JangHyeong Test Category", PerformanceCounterCategoryType.SingleInstance, jangHyeongCounters);
}
var thread = new Thread(Loop);
thread.Start();
Console.WriteLine("Start.");
Console.ReadLine();
Console.WriteLine("End.");
looping = false;
}
}
1초마다 "JangHyeong"-"Test" 카운터에 0~99의 랜덤한 숫자로 지표를 남기는 프로그램 샘플 코드.
테스트하려고 짰다가 나중에 다시 써먹으려고 포스팅 한다.