다음을 통해 공유


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

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

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

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

이 샘플을 사용하려면

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

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

  3. Ctrl+F5를 눌러 솔루션을 실행합니다.

    웹 브라우저에서 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, Windows, 애플리케이션 서버-애플리케이션으로 이동합니다. 애플리케이션 서버-애플리케이션을 마우스 오른쪽 단추로 클릭하고 보기, 분석 및 디버그 로그 표시를 차례로 선택합니다.

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

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

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

서비스를 테스트하려면

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

    분모가 0이면 서비스에서는 오류를 throw합니다.

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

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

    WCF 분석 추적 이벤트가 이벤트 뷰어에 표시됩니다. 서비스에서 오류가 throw되었으므로 이벤트 뷰어에 오류 추적 이벤트가 표시됩니다.

  3. 1-2단계를 반복하되 이번에는 유효한 입력을 사용합니다. N2 매개 변수 값으로는 0 이외의 모든 숫자를 사용할 수 있습니다.

    분석 채널을 새로 고쳐 WCF 이벤트에 오류 이벤트가 포함되어 있지 않은지 확인합니다.

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

정리하려면(옵션)

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

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

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

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

참고 항목