다음을 통해 공유


Windows용 WCF 서비스 및 이벤트 추적

ETWTracing 샘플은 WCF(Windows Communication Foundation)에서 분석 추적을 사용하여 ETW(Windows용 이벤트 추적)에서 이벤트를 내보내는 방법을 보여 줍니다. 분석 추적은 프로덕션 환경에서 WCF 서비스의 문제 해결을 허용하는 WCF 스택의 주요 지점에서 내보낸 이벤트입니다.

WCF 서비스의 분석 추적은 성능에 미치는 영향을 최소화하면서 프로덕션 환경에서 설정할 수 있는 추적입니다. 이러한 추적은 ETW 세션에 이벤트로 내보내집니다.

이 샘플에는 기본 WCF 서비스가 포함되어 있으며, 서비스에서 발생한 이벤트는 이벤트 로그에 기록되며, 이는 이벤트 뷰어를 사용하여 확인할 수 있습니다. WCF 서비스에서 이벤트를 수신 대기하는 전용 ETW 세션을 시작할 수도 있습니다. 샘플에는 이벤트 뷰어를 사용하여 읽을 수 있는 이진 파일에 이벤트를 저장하는 전용 ETW 세션을 만드는 스크립트가 포함되어 있습니다.

이 샘플을 사용하려면

  1. Visual Studio를 사용하여 EtwAnalyticTraceSample.sln 솔루션 파일을 엽니다.

  2. 솔루션을 빌드하려면 Ctrl+ ShiftB+ 누릅니다.

  3. 솔루션을 실행하려면 Ctrl+ 키를 누릅니다.

    웹 브라우저에서 Calculator.svc를 클릭합니다. 서비스에 대한 WSDL 문서의 URI가 브라우저에 표시됩니다. 해당 URI를 복사합니다.

    기본적으로 서비스는 포트 1378 http://localhost:1378/Calculator.svc에서 요청을 수신 대기하기 시작합니다.

  4. WCF 테스트 클라이언트(WcfTestClient.exe)를 실행합니다.

    WCF 테스트 클라이언트(WcfTestClient.exe)가 있습니다 \<Visual Studio Install Dir>\Common7\IDE\WcfTestClient.exe.

  5. WCF 테스트 클라이언트 내에서 파일을 선택하여 서비스를 추가한 다음 서비스를 추가합니다.

    입력 상자에 엔드포인트 주소를 추가합니다. 기본값은 http://localhost:1378/Calculator.svc입니다.

  6. 이벤트 뷰어 애플리케이션을 엽니다.

    서비스를 호출하기 전에 이벤트 뷰어를 시작하고 이벤트 로그가 WCF 서비스에서 내보낸 추적 이벤트를 수신 대기하는지 확인합니다.

  7. 시작 메뉴에서 관리 도구를 선택한 다음 이벤트 뷰어를 선택합니다. 분석디버그 로그를 사용하도록 설정합니다.

  8. 이벤트 뷰어의 트리 보기에서 이벤트 뷰어, 애플리케이션 및 서비스 로그, Microsoft, WindowsApplication Server-Applications로 이동합니다. 애플리케이션 서버-애플리케이션을 마우스 오른쪽 단추로 클릭하고 보기를 선택한 다음 분석 및 디버그 로그를 표시합니다.

    분석 및 디버그 로그 표시 옵션이 선택되어 있는지 확인합니다.

  9. 분석 로그를 사용하도록 설정합니다.

    이벤트 뷰어의 트리 보기에서 이벤트 뷰어, 애플리케이션 및 서비스 로그, Microsoft, WindowsApplication Server-Applications로 이동합니다. 분석을 마우스 오른쪽 단추로 클릭하고 로그 사용을 선택합니다.

서비스를 테스트하려면

  1. WCF 테스트 클라이언트로 다시 전환하고 두 번 클릭하고 Divide 분모를 0으로 지정하는 기본값을 유지합니다.

    분모가 0이면 서비스에서 오류를 발생시킵니다.

  2. 서비스에서 내보낸 이벤트를 관찰합니다.

    이벤트 뷰어로 다시 전환하고 이벤트 뷰어, 애플리케이션 및 서비스 로그, Microsoft, WindowsApplication Server-Applications로 이동합니다. 분석을 마우스 오른쪽 단추로 클릭하고 새로 고침을 선택합니다.

    WCF 분석 추적 이벤트는 이벤트 뷰어에 표시됩니다. 서비스에서 오류가 발생했기 때문에 오류 추적 이벤트가 이벤트 뷰어에 표시됩니다.

  3. 1단계와 2단계를 반복하지만 유효한 입력을 사용합니다. 매개 변수의 N2 값은 0 이외의 숫자일 수 있습니다.

    분석 채널을 새로 고쳐 WCF 이벤트를 확인해도 오류 이벤트는 포함되지 않습니다.

샘플은 WCF 서비스에서 내보낸 분석 추적 이벤트를 보여 줍니다.

정리하려면(선택 사항)

  1. 이벤트 뷰어를 엽니다.

  2. 이벤트 뷰어, 애플리케이션 및 서비스 로그, Microsoft, WindowsApplication-Server-Applications로 이동합니다. 분석을 마우스 오른쪽 단추로 클릭하고 로그 사용 안 함을 선택합니다.

  3. 이벤트 뷰어, 애플리케이션 및 서비스 로그, Microsoft, WindowsApplication-Server-Applications로 이동합니다. 분석을 마우스 오른쪽 단추로 클릭하고 로그 지우기를 선택합니다.

  4. [지우기] 옵션을 선택하여 이벤트를 지웁니다.

참고하십시오