와이어 VPN 블로그 > macOS 및 Linux에서 dotTrace 시작하기
macOS 및 Linux에서 dotTrace 시작하기

ReSharper 도구 2023.1 EAP(Early Access Program) 5 릴리스를 통해 x64 및 ARM64 프로세서 모두에 대해 macOS 및 Linux에서 사용할 수 있는 dotTrace 성능 프로파일러 의 독립 실행형 버전도 만들었습니다. 이제 dotTrace를 독립 실행형 도구로 사용하여 세 가지 주요 운영 체제 모두에서 .NET Core, Mono 및 Unity 애플리케이션을 프로파일링할 수 있습니다.

이 블로그 게시물에서는 macOS에서 dotTrace를 시작하는 방법을 살펴보겠습니다. Windows와 Linux의 경우 작업 흐름이 비슷합니다.

플랫폼용 dotTrace 다운로드

dotTrace 독립 실행형을 다운로드하려면 JetBrains Toolbox App 을 사용할 수 있습니다. 모든 JetBrains 도구에 대한 편리한 액세스를 제공하고 안정적인 초기 액세스 버전을 나란히 설치할 수 있습니다.

또는 해당 링크를 클릭하여 OS용 빌드를 다운로드합니다.

프로파일링할 대상과 방법을 선택하십시오.

dotTrace를 시작하면 홈 화면이 표시됩니다. 여기에서 프로파일링할 대상과 프로파일링 방법을 선택합니다. 또한 홈 화면에서 이전 프로파일러 스냅샷, 자습서 등에 액세스할 수 있습니다. dotTrace가 애플리케이션을 시작하도록 하거나 이미 실행 중인 프로세스를 프로파일링할 수 있습니다.

홈 화면의 왼쪽에서 실행 구성을 추가하여 시작합니다. macOS 및 Linux의 dotTrace를 사용하면 프로파일링할 독립 실행형 데스크톱 또는 콘솔 애플리케이션과 .NET Core, Mono 또는 Unity 애플리케이션을 선택할 수 있습니다. Windows에서는 IIS에서 호스팅하는 응용 프로그램 및 Windows 서비스를 비롯한 여러 다른 응용 프로그램 유형을 선택할 수 있습니다.

자신의 응용 프로그램을 프로파일링할 때 디버그 모드를 사용하여 빌드하지 마십시오. 이상적으로는 릴리스 모드를 사용하십시오. 컴파일러는 릴리스 모드에서 응용 프로그램을 빌드할 때 호출 경로를 최적화합니다. 일반적으로 메소드 및 기타 기술을 인라인하여 애플리케이션의 성능을 향상시키고 프로덕션에서 실행할 수 있는 애플리케이션에 더 가까운 관련 결과를 제공합니다.

애플리케이션 유형을 선택하고 프로파일링할 실행 파일을 찾은 후 프로파일링 모드를 선택할 수 있습니다.

선택할 수 있는 몇 가지 다른 프로파일링 모드가 있습니다. 타임라인, 샘플링, 추적, Windows의 경우 라인별. 다음은 각 모드가 지원하는 기능에 대한 간략한 요약입니다.

  • 타임라인 및 샘플링은 애플리케이션에서 메서드 실행 시간에 대한 정보를 수집합니다. 타임라인은 시간에 따라 배포되는 애플리케이션 이벤트에 대한 추가 데이터를 수집합니다. 이를 통해 UI 정지, 가비지 수집 문제, 스레드 고갈 등을 더 쉽게 조사할 수 있습니다. 일반적으로 타임라인 및 샘플링은 실행 중인 애플리케이션에 대한 오버헤드가 거의 없습니다.
  • 추적 및 라인별은 애플리케이션에서 메소드가 호출된 횟수에 대한 정보를 수집합니다. 추적은 메서드 수준에서 이 작업을 수행하고 Line-by-Line(Windows에만 해당)은 문 수준에서 호출 번호를 추적합니다. 추적 및 라인별은 정확한 통화 번호를 제공하지만 추가 오버헤드로 인해 통화 시간을 측정하는 데 신뢰할 수 없습니다.

일반적으로 프로파일링 워크플로는 타임라인 프로파일링으로 시작됩니다.

dotTrace를 사용하면 애플리케이션의 하위 프로세스를 프로파일링할지 여부, 애플리케이션에서 프로파일링 API를 사용하여 코드에서 스냅샷을 캡처하는 시기 등을 제어할지 여부와 같은 몇 가지 다른 옵션도 선택할 수 있습니다.

모든 설정! 이제 시작 을 클릭하면 프로파일러와 프로파일링하려는 애플리케이션이 시작됩니다.

프로파일러 스냅샷 제어

응용 프로그램을 프로파일링하기 위해 dotTrace를 시작하면 프로파일러 컨트롤러가 표시됩니다. 컨트롤러를 사용하면 프로파일링을 시작하고 조사할 수 있는 스냅샷 캡처 시기를 결정할 수 있습니다. 애플리케이션의 CPU 및 메모리 사용량을 차트로 볼 수 있습니다. 이는 스냅샷을 캡처하려는 CPU 스파이크를 식별하는 데 유용할 수 있습니다.

충분한 데이터를 캡처했으면 Get Snapshot and Wait를 클릭하여 스냅샷을 저장하고 dotTrace 뷰어에서 엽니다.

스냅샷 분석

dotTrace 뷰어는 프로파일링 세션 중에 일어난 일에 대한 정보를 보여줍니다. 왼쪽에는 필터링할 수 있는 모든 유형의 이벤트가 표시됩니다. 중심 단계는 특정 시간을 확대할 수 있는 프로파일링 세션의 타임라인입니다. 뷰어의 오른쪽에는 많은 시간이 소요되는 코드의 핫스팟과 모든 메서드의 호출 트리가 표시됩니다.

dotTrace 뷰어의 모든 항목은 필터입니다. 일정 기간을 확대하면 모든 보기가 업데이트되어 해당 시간 조각과 관련된 데이터를 표시합니다. 분석할 특정 메서드 호출을 선택하면 해당 메서드가 호출될 때 타임라인 하이라이트가 표시되고 이벤트는 해당 시간 프레임 동안 발생한 이벤트로 제한됩니다.

.NET 프로파일러 스냅샷 분석에 대한 자세한 내용은 dotTrace 설명서를 확인하십시오.

요약

ReSharper 도구 2023.1 EAP 5 릴리스 에는 macOS 및 Linux(x64 및 ARM64 프로세서 모두)에서 독립 실행형 버전의 dotTrace 성능 프로파일러 에 대한 지원이 추가되었습니다. 프로파일링 워크플로는 Windows와 동일합니다. 프로파일링할 애플리케이션을 선택하고 프로파일링 모드를 선택하고 스냅샷을 캡처 및 분석합니다.

원격 시스템에서 애플리케이션을 프로파일링해야 하는 경우 dotTrace 명령줄 프로파일러를 사용하여 스냅샷을 캡처하고 시스템에서 dotTrace 뷰어를 사용하여 Windows, macOS 또는 Linux를 실행하는지 여부에 관계없이 이를 분석할 수 있습니다. 물론 Visual Studio 내에서 그리고 Rider에서 직접 애플리케이션을 프로파일링할 수도 있습니다.

macOS 또는 Linux에서 dotTrace 조기 액세스 프로그램(EAP) 릴리스를 사용해 보고 결과를 알려주세요!

이 기사가 도움이 되었나요?