작업 단위 성능 카운터 사용

작업 단위 성능 카운터는 Windows 플랫폼에 애플리케이션 프로세스에 대한 인사이트를 제공합니다. 작업 단위를 사용하면 앱이 특정 프로세스에서 실행되는 애플리케이션의 일부를 설명하고 소유권을 클레임할 수 있습니다. 예를 들어 웹 브라우저에는 모든 프로세스를 관리하는 고유한 작업 관리자가 있습니다. 작업 단위 성능 카운터를 사용하면 Windows 작업 관리자에서 해당 수준의 세부 정보 및 제어를 사용할 수 있습니다.

예를 들어 사용자의 디바이스에서 실행되는 Microsoft Edge 브라우저를 고려합니다. 브라우저는 특정 프로세스에서 실행되지만 다른 프로세스는 탭, 네트워크 및 오디오 서비스, 확장 및 기타 기능을 호스트하기 위해 만들어집니다. 특정 프로세스를 사용하여 여러 작업 단위를 실행할 수 있으며 다른 앱에서 공유할 수 있습니다. 내부적으로 브라우저는 종속성과 필요한 프로세스와 통신하는 방법을 알고 있지만 Windows 플랫폼 및 기타 애플리케이션은 브라우저가 어떻게 구성되는지 알지 못합니다. 이러한 정보를 사용하면 보다 정확한 리소스 사용 정보를 제공하고 앱 문제를 진단하는 데 도움이 됩니다. 작업 관리자는 프로세스에서 실행 중인 작업 단위를 보고할 수 있습니다. 이를 통해 디버거는 프로세스에서 실행 중인 작업의 종류를 설명하여 개발자 워크로드를 간소화할 수 있습니다.

각 작업 단위에는 다음 속성이 있습니다.

  • AppOwnerProcessId: 지정된 작업 단위를 소유하는 프로세스의 ID입니다.
  • HostProcessId: 지정된 작업 단위가 실행 중인 프로세스의 ID입니다.
  • 종류: 이를 수신하는 애플리케이션에서 작업 단위를 해석하는 방법입니다.
  • 제목: 작업 단위의 레이블입니다.
  • UniqueId: 작업 단위의 식별자입니다.

데이터 계약

Windows 플랫폼의 작업 단위와 공유되는 정보는 시스템에서 실행되는 모든 앱에서 쿼리할 수 있습니다. 데이터는 공개적으로 사용 가능하고 문서화된 성능 카운터 API사용하여 제공되고 사용됩니다. 구현의 일부로 성능 카운터에는 작업 단위의 레이블을 식별하는 데 사용하는 고유 식별자 문자열이 있어야 합니다. 성능 카운터 고유 식별자 문자열의 예상 형식입니다.

  • 선행 "WorkUnit" 문자열입니다.
  • 1을 기준으로 시작하는 고유 ID입니다.
  • 작업 단위가 실행 중인 프로세스의 식별자입니다.
  • 애플리케이션을 나타내는 주 프로세스의 식별자입니다.
  • 작업 단위에 대한 사용자에게 친숙한 제목입니다.

메모

작업 단위 정보를 업데이트해야 하는 경우(예: 제목이 변경됨) uniqueId가 유지됩니다. 새 단위는 새 고유 식별자를 사용해야 합니다. uniqueId는 다음 예제와 같이 파이프 문자 "|"를 사용하여 연결해야 합니다.

견본:

"WorkUnit|1|4321|1019|Instance 1 of pid 1111, owned by 1111"
"WorkUnit|1|8765|1019|Instance 1 of pid 5555, owned by 5555"
"WorkUnit|1|9999|1019|Instance 1 of pid 9999, owned by 9999"
"WorkUnit|2|4321|1019|Instance 2 of pid 1234, owned by 4321"
"WorkUnit|2|8765|1019|Instance 2 of pid 5678, owned by 8765"

작업 단위 제공

성능 카운터 API사용하여 작업 단위 성능 카운터 집합의 인스턴스를 만들 수 있습니다. 위에 설명된 데이터 계약 따라 다른 앱이 데이터의 유효성을 성공적으로 검사하고 사용할 수 있는지 확인합니다.

작업 단위 시각화

작업 단위 성능 카운터에서 데이터를 쿼리하려는 경우 성능 카운터 API 또는 성능 모니터 애플리케이션을 사용할 수 있습니다.

  1. CMD 프롬프트 또는 실행 대화 상자에 "perfmon"을 입력하여 PerfMon 도구를 시작합니다.
  2. "모니터링 도구"에서 "성능 모니터"를 선택합니다.
  3. "카운터 추가" 단추(녹색 '+' 기호)를 클릭합니다.
  4. "작업 단위"를 선택하고 확장하여 애플리케이션에서 제공하는 카운터를 확인하십시오.
  5. 나열된 카운터를 선택합니다. "앱 소유자 프로세스 ID" 및 "호스트 프로세스 ID".
  6. "모든 인스턴스"를 선택하고 "추가"를 클릭합니다.
  7. "확인"을 클릭합니다.
  • UI 카운터 추가 창의 스크린샷에서 작업 단위 카운터를 선택합니다. 작업 단위가 추가할 카운터로 창에 강조 표시되어 있습니다.