KeiStory

728x90
반응형

C# Metric 데이터 수집하고 모니터링 하기 (dotnet-counters)

 

1. 콘솔앱 생성합니다.

2. 아래와 같이 매트릭이 데이터를 수집될수 있도록 코딩 합니다.

using System.Diagnostics.Metrics;
class Program
{
    static Meter meter = new Meter("HatStore", "1.0.0");
    static Counter<int> hatsSold = meter.CreateCounter<int>("hats-sold");

    static void Main(string[] args)
    {
        Console.WriteLine("Press any key to exit");
        while (!Console.KeyAvailable)
        {
            // Pretend our store has a transaction each second that sells 4 hats
            Thread.Sleep(1000);
            hatsSold.Add(4);
        }
    }
}

 

3. dotnet-counters 를 설치합니다.

dotnet tool update -g dotnet-counters

 

4. 현재 실행되고 있는 콘솔앱의 processid 를 ps 명령어로 알아냅니다

dotnet-counters ps

 

5. processid 기준 HatStore 매트릭 데이터를 모니터링 하도록 아래 명령을 실행합니다.

dotnet-counters monitor -p 4712 HatStore

아래와 같이 메트릭 데이터가 표시됩니다.

 

6. processid 기준 런타임 매트릭을 모니터링 하기위해 아래 명령을 수행합니다.

dotnet-counters monitor -p 7412 System.Runtime

실행하면서 사용되는 모든 자산에 대한 데이터가 표시됩니다.

 

[Source]
https://github.com/kei-soft/MetricTestConsoleApp

 

GitHub - kei-soft/MetricTestConsoleApp

Contribute to kei-soft/MetricTestConsoleApp development by creating an account on GitHub.

github.com


참고
https://learn.microsoft.com/ko-kr/dotnet/core/diagnostics/metrics-collection

 

메트릭 수집 - .NET

.NET 애플리케이션에서 메트릭을 수집하는 자습서

learn.microsoft.com

 

728x90

공유하기

facebook twitter kakaoTalk kakaostory naver band