이벤트 추적의 새로운 기능

이 섹션에서는 각 릴리스의 Windows 대한 이벤트 추적에 추가된 새로운 기능에 대해 설명합니다.

Windows 10, 버전 1709

이제 ETW는 필요에 따라 세션에 사용하도록 설정된 모든 공급자에 대한 이진 파일을 추적할 수 있습니다. 추적은 호출 전에 세션에 활성화된 공급자와 세션에 사용하도록 설정된 모든 이후 공급자에 대해 소급하여 적용됩니다. 이제 운영 체제에서 허용하는 현재 구성된 최대 시스템 로거 수를 쿼리할 수도 있습니다. 자세한 내용은 TRACE _ INFO _ CLASS 열거형의 TraceProviderBinaryTrackingTraceMaxLoggersQuery 값 및 추가 이벤트 추적 데이터 검색을 참조하세요.

ETW는 이제 이벤트 이름을 기준으로 이벤트를 필터링할 수 있습니다. 스택을 캡처할 이벤트를 확인할 수도 있습니다. 자세한 내용은 이벤트 _ 필터 _ 형식 _ 이벤트 _ 이름, 이벤트 필터 형식 _ _ _ STACKWALK _ NAME 및 이벤트 필터 _ _ 설명자 구조의 이벤트 필터 유형 _ _ _ STACKWALK LEVEL _ _ KW 값뿐만 아니라 연결된 이벤트 필터 이벤트 이름 및 _ _ 이벤트 _ 필터 수준 _ _ _ KW 구조체를 참조하세요.

Windows 10

TraceLogging은 ETW를 기반으로 하며 네이티브, .NET 및 WinRT 개발자를 위한 코드를 계측하는 간소화된 방법을 제공합니다. TraceLogging을 사용하면 이벤트에 구조적 데이터를 포함하고, 이벤트를 상호 연결할 수 있으며, 별도의 계측 매니페스트 XML 파일이 필요하지 않습니다.

공급자 특성은 개별 공급자 등록에 더 많은 데이터를 연결하는 방법으로 추가되었습니다. 매니페스트 기반 또는 TraceLogging 공급자에 사용할 수 있습니다. 여기에는 현재 공급자 이름 및/또는 공급자 그룹을 개별 공급자 등록에 추가하는 지원이 포함됩니다. 공급자 그룹은 여러 ETW 공급자가 속한 그룹에 의해 집계로 제어될 수 있도록 하는 새로운 기능입니다.

주기적 캡처 상태는 캡처 상태 알림이 공급자에게 정기적으로 전송되도록 허용하는 방법입니다. 이 기능을 사용하도록 설정하면 알림은 이전에 현재 세션에 사용하도록 설정된 공급자 등록으로만 전송됩니다. 각 공급자는 알림에 대한 자체 응답(있는 경우)을 정의할 수 있습니다. 구현에 대한 자세한 내용은 TRACE _ PERIODIC _ CAPTURE STATE _ _ INFO를 참조하세요.

Windows 8.1 및 Windows Server 2012 R2

Windows 8.1 및 Windows Server 2012 R2의 이벤트 추적에 다음 기능이 추가되었습니다.

EnableTraceEx2 함수 및 ENABLE _ TRACE _ PARAMETERS 및 이벤트 필터 _ _ 설명자 구조에서 로거 세션의 특정 조건을 필터링하는 데 사용되는 이벤트 페이로드, 범위 및 스택 워크 필터 사용을 지원하는 함수입니다. 자세한 내용은 다음을 참조하세요.

또한 EnableTraceEx2 함수 및 이러한 기능에 사용되는 ENABLE _ TRACE _ PARAMETERS이벤트 필터 _ _ 설명자 구조에 대해 광범위하게 수정된 설명서를 참조하세요.

TdhCreatePayloadFilter 함수에서 사용하는 추적 세션에서 단일 필드를 필터링하는 방법과 이벤트 ID 및 스택 워크 필터에 사용되는 새 구조를 정의하는 이벤트 페이로드 필터를 정의하는 구조체입니다. 자세한 내용은 다음을 참조하세요.

공급자 매니페스트에 있는 이벤트에 대한 정보를 검색하는 함수입니다. 자세한 내용은 다음을 참조하세요.

TdhEnumerateManifestProviderEvents 함수에서 사용하는 공급자 매니페스트의 이벤트 배열을 정의하는 구조체입니다. 자세한 내용은 다음을 참조하세요.

Windows 8 및 Windows Server 2012

Windows 8 및 Windows Server 2012 이벤트 추적에 다음 기능이 추가되었습니다.

등록 개체에 대한 작업을 수행하고, 이벤트 페이로드 구문 분석 기능을 제공하고, 추적 공급자 검색을 제공하고, 이벤트 추적 세션 설정을 쿼리하고, 다시 로그된 추적 파일을 처리하는 함수입니다. 자세한 내용은 다음을 참조하세요.

추적 프로세스 및 이벤트가 기록될 때 재로거에 정보를 제공하고, 특정 이벤트에 대한 데이터에 액세스하고, ETL(이벤트 추적 로그) 파일을 조작할 수 있는 재로거 기능에 액세스하는 인터페이스입니다. 자세한 내용은 다음을 참조하세요.

새 함수 및 인터페이스에서 사용하는 추가 열거형입니다. 자세한 내용은 다음을 참조하세요.

Windows 7 및 Windows Server 2008 R2

이 릴리스에서 추가된 기능은 다음과 같습니다.

  • 공급자가 매니페스트에서 필터를 정의하는 기능입니다. Windows Vista에서 컨트롤러는 필터 데이터를 공급자에 전달할 수 있습니다. 그러나 필터 데이터의 레이아웃이 매니페스트에 정의되지 않았으므로 공급자는 다른 방법을 사용하여 컨트롤러에 필터 정의를 제공해야 합니다. 이 릴리스에서는 공급자가 매니페스트에서 필터 정의를 정의할 수 있습니다(ProviderType 복합 형식의 필터 특성 참조). 그런 다음 컨트롤러는 TdhEnumerateProviderFilters 함수를 사용하여 필터 정의를 확인할 수 있습니다. 필터를 사용하는 공급자는 EventWriteEx 함수를 사용하여 이벤트를 작성해야 합니다.
  • 단일 버퍼를 사용하여 여러 프로세서에서 생성된 이벤트를 수집하는 기능입니다. 단일 버퍼를 사용하면 다중 프로세서 컴퓨터에서 이벤트가 순서대로 표시되지 않습니다. 자세한 내용은 프로세서당 이벤트 _ 추적 NO _ _ _ _ 버퍼링 로깅 모드를 참조하세요. 기본적으로 ETW는 프로세서당 버퍼를 사용합니다.
  • 이벤트에 대한 스택 추적을 캡처하는 기능입니다. 커널 이벤트에 스택 추적을 사용하도록 설정하려면 TraceSetInformation 함수를 참조하세요. 사용자 이벤트에 대해 스택 추적을 사용하도록 설정하려면 ENABLE TRACE PARAMETERS 의 EnableProperty 멤버에 대한 EVENT ENABLE PROPERTY STACK _ _ _ _ TRACE 플래그를 _ _ 참조하세요.
  • EVENT TRACE _ PRIVATE _ _ LOGGER _ MODE 로깅 모드를 사용하여 EVENT TRACE _ _ BUFFERING _ MODE 또는 EVENT TRACE FILE MODE _ _ _ _ NEWFILE 로깅 모드를 지정할 수 있습니다(로깅 모드 상수참조).
  • 공급자를 동기적으로 사용하도록 설정하는 기능입니다. 기본적으로 공급자는 비동기적으로 사용하도록 설정됩니다. 공급자를 동기적으로 사용하도록 설정하려면 EnableTraceEx2Timeout 매개 변수를 설정합니다.
  • 컨트롤러에서 공급자가 상태를 기록하도록 요청할 수 있는 기능입니다. 자세한 내용은 EnableTraceEx2의 ControlCode 매개 변수에 대한 EVENT CONTROL _ CODE CAPTURE _ _ _ STATE 플래그를 참조하세요.
  • 소비자가 TdhFormatProperty 함수를 사용하여 이벤트 데이터의 서식을 지정할 수 있습니다.
  • 공급자를 포함하지 않는 컴퓨터에서 매니페스트된 이벤트를 디코딩할 수 있습니다. 자세한 내용은 TdhLoadManifest 함수를 참조하세요.

이 릴리스에서 추가된 함수는 다음과 같습니다.

이 릴리스에서 추가된 구조는 다음과 같습니다.

이 릴리스에는 다음과 같은 열거가 추가 되었습니다.

이 릴리스에 추가 된 MOF 클래스는 다음과 같습니다.