고급 설정 대화 상자(동시성 시각화 도우미)Advanced Settings Dialog Box (Concurrency Visualizer)

동시성 시각화 도우미의 고급 설정 대화 상자에서는 추적 수집 방법을 제어할 수 있습니다.By using the Advanced Settings dialog box in the Concurrency Visualizer, you can control how traces are collected. 이 대화 상자에는 기호, 내 코드만, 버퍼링, 필터링, CLR 이벤트, 표식, 공급자 및 파일에 대한 탭이 포함됩니다.The dialog box has tabs for symbols, Just My Code, buffering, filtering, CLR events, markers, providers, and files.

기호Symbols

동시성 시각화 도우미에는 Visual Studio 디버거와 동일한 기호 설정이 사용됩니다.The Concurrency Visualizer uses the same symbol settings as the Visual Studio Debugger. 동시성 시각화 도우미는 이 설정을 사용해서 성능 데이터와 연관된 호출 스택을 분석합니다.The Concurrency Visualizer uses the settings to resolve call stacks that are associated with performance data. 추적을 처리할 때 동시성 시각화 도우미는 설정 페이지에 지정된 기호 서버에 액세스합니다.When it processes traces, the Concurrency Visualizer accesses the symbol servers that are specified in the settings page. 네트워크를 통해 이 데이터에 액세스할 경우에는 추적 처리 속도가 느려집니다.When this data is accessed over a network, trace processing slows down. 기호를 분석하는 데 필요한 시간을 줄이기 위해서는 기호를 로컬로 캐시할 수 있습니다.To reduce the amount of time that's required to resolve symbols, you can cache symbols locally. 기호가 다운로드되었으면 Visual Studio가 로컬 캐시에서 기호를 로드합니다.If symbols have been downloaded, Visual Studio will load them from the local cache.

내 코드만Just My Code

기본적으로 내 코드만은 Visual Studio의 현재 솔루션과 연관된 .exe 및 .dll 파일 집합입니다.By default, Just My Code is the set of .exe and .dll files that are associated with the current solution in Visual Studio. 동시성 시각화 도우미는 내 코드만 기능을 사용해서 호출 스택을 필터링할 때 이 파일 집합을 평가합니다.The Concurrency Visualizer evaluates this set of files when you use the Just My Code feature to filter call stacks. 내 코드만 탭에서는 동시성 시각화 도우미가 내 코드만에 사용하는 위치에 .exe 및 .dll 파일이 포함된 디렉터리를 추가할 수 있습니다.On the Just My Code tab, you can add directories that contain .exe and .dll files to the locations that the Concurrency Visualizer uses for Just My Code.

.Exe 및 .dll 파일의 경로는 추적을 수집할 때 추적 파일에 저장됩니다.The paths of the .exe and .dll files are stored in the trace file when the trace is collected. 이 설정을 변경해도 이전에 수집된 모든 추적에는 영향을 주지 않습니다.Changing this setting does not affect any previously collected traces.

버퍼링Buffering

동시성 시각화 도우미는 추적을 수집할 때 ETW(Windows용 이벤트 추적)를 사용합니다.The Concurrency Visualizer uses Event Tracing for Windows (ETW) when it collects a trace. ETW는 이벤트를 저장할 때 여러 버퍼를 사용합니다.ETW uses various buffers as it stores events. 기본 ETW 버퍼 설정은 모든 경우에 최적이 아닐 수 있으며, 일부 경우에는 이벤트 손실과 같은 문제를 일으킬 수 있습니다.The default ETW buffer settings might not be optimal in all cases, and in some cases, might cause problems such as lost events. 버퍼링 탭을 사용하여 ETW 버퍼 설정을 구성할 수 있습니다.You can use the Buffering tab to configure ETW buffer settings. 자세한 내용은 이벤트 추적EVENT_TRACE_PROPERTIES 구조를 참조하세요.For more information, see Event Tracing and EVENT_TRACE_PROPERTIES structure.

필터Filter

필터 탭에는 동시성 시각화 도우미에서 수집하는 이벤트 집합을 선택할 수 있습니다.On the Filter tab, you can select the set of events that the Concurrency Visualizer collects. 이벤트 하위 집합을 선택하면 보고서에 표시되는 데이터 형식이 제한되고, 각 추적의 크기가 감소하고, 추적 처리에 필요한 시간이 줄어듭니다.Selecting a subset of events limits the types of data that are displayed in the reports, reduces the size of each trace, and reduces the time that's required to process traces.

CLR 이벤트CLR Events

CLR(공용 언어 런타임)에서 생성된 이벤트는 동시성 시각화 도우미가 관리되는 호출 스택을 분석할 수 있게 해줍니다.Events generated by the Common Language Runtime (CLR) enable the Concurrency Visualizer to resolve managed call stacks. CLR 이벤트 수집을 비활성화하면 추적 크기가 줄어들지만 일부 호출 스택이 분석되지 않습니다.If you disable collection of CLR events, the trace size will be reduced, but some call stacks will not resolve. 따라서 일부 CPU 스레드 작업이 잘못 분류될 수 있습니다.As a result, some CPU thread activity might be incorrectly categorized.

네이티브 프로세스 수집Collect For Native Processes

기본적으로 CLR 이벤트는 네이티브 프로세스에 대해 일반적으로 필요하지 않기 때문에 관리되는 프로세스가 프로파일링되었을 때만 수집됩니다.By default, CLR events are collected only when a managed process is profiled because they are normally unnecessary for native processes. 네이티브 프로세스가 CLR을 호스팅하는 일부 경우에는 네이티브 프로세스에 대해 CLR 이벤트를 수집해야 할 수 있습니다.In some cases (for example, when a native process is hosting the CLR), you might have to collect CLR events for a native process. 이 경우 네이티브 프로세스 수집 확인란을 선택합니다.If this is the case, select the Collect for Native Processes check box.

런다운 이벤트 사용 안 함Disable Rundown Events

CLR은 런타임 및 런다운의 두 공급자로부터 이벤트를 생성합니다.The CLR generates events from two providers: runtime and rundown. CLR 런타임 이벤트를 수집하지만 런다운 이벤트는 수집하지 않으려면 런다운 이벤트 사용 안 함 확인란을 선택합니다.If you want to collect CLR runtime events, but want to avoid collecting rundown events, select the Disable Rundown Events check box. 그러면 컬렉션으로 생성되는 추적 파일 크기가 줄어들지만 일부 스택이 분석되지 않을 수 있습니다.This reduces the size of the trace file that's generated by collection, but some stacks might not resolve. 자세한 내용은 CLR ETW 공급자를 참조하세요.For more information, see CLR ETW Providers

샘플 이벤트Sample Events

샘플 이벤트를 사용해서 스레드 실행과 연관된 호출 스택을 추적할 수 있습니다.You can use sample events to collect call stacks that are associated with thread execution. 이러한 이벤트는 현재 프로세스에서 실행 중인 스레드에 대해 대략적으로 밀리초당 한 번씩 수집됩니다.These events are collected approximately once per millisecond for threads that are executing in the current process. 샘플 이벤트의 수집을 비활성화하면 수집되는 추적 크기가 줄어들지만 스레드 실행과 연관된 호출 스택을 볼 수 없습니다.If you disable the collection of sample events, the size of the collected trace is reduced, but you cannot view any call stacks that are associated with thread execution.

GPU 이벤트GPU Events

GPU 이벤트는 DirectX에 의해 생성되는 이벤트입니다.GPU Events are events generated by DirectX. GPU 이벤트의 수집을 비활성화하면 수집되는 추적 크기가 줄어들지만 사용률 보기에서 GPU 작업을 보거나 스레드 보기에서 DirectX 엔진 작업을 볼 수 없습니다.If you disable the collection of GPU events, the size of the collected trace is reduced, but you cannot view any GPU Activity in the Utilization view, or DirectX Engine activity in the Threads View.

파일 I/O 이벤트File I/O Events

파일 I/O 이벤트는 현재 프로세스를 대신해서 디스크에 대한 액세스를 제공합니다.File I/O events represent accesses to the disk on behalf of the current process. 파일 I/O 이벤트를 비활성화하면 추적 크기가 줄어들지만 스레드 보기에서 디스크 채널 또는 디스크 작업에 대한 정보를 보고하지 않습니다.If you disable File I/O events, the size of the trace is reduced, but the Threads View will not report any information about disk channels or Disk Operations.

MarkersMarkers

표식 탭에서는 동시성 시각화 도우미에 표식으로 나타나는 ETW 공급자 집합을 구성할 수 있습니다.On the Markers tab, you can configure the set of ETW providers that are shown as Markers in the Concurrency Visualizer. 또한 중요도 수준 및 ETW 범주에 따라 표식 컬렉션을 필터링 할 수 있습니다.You can also filter the Marker collection based on importance level and ETW category. 동시성 시각화 도우미 SDK를 사용 중이고 고유한 표식 공급자를 사용 중이면 스레드 보기에 표시되도록 여기에서 등록할 수 있습니다.If you are using the Concurrency Visualizer SDK and are using your own Marker provider, you can register it here so that it appears in the Threads View.

새 공급자 추가Adding a New Provider

코드에 Concurrency 시각화 SDK가 사용되거나 <xref:System.Diagnostics.Tracing.EventSource> 규칙을 따르는 ETW 이벤트가 생성될 경우, 이 대화 상자에서 등록하여 Concurrency 시각화에서 이러한 이벤트를 볼 수 있습니다.If your code uses the Concurrency Visualizer SDK or generates ETW events that follow the <xref:System.Diagnostics.Tracing.EventSource> convention, you can view these events in the Concurrency Visualizer by registering them in this dialog box.

이름 필드에는 공급자가 생성하는 이벤트 유형을 설명하는 이름을 입력합니다.In the Name field, enter a name that describes the types of events that are generated by the provider. GUID 필드에는 이 공급자와 연관된 GUID를 입력합니다.In the GUID field, enter the GUID that is associated with this provider. (GUID는 모든 ETW 공급자와 연결됩니다.)(A GUID is associated with every ETW provider.)

선택적으로 범주 또는 중요도 수준을 기준으로 이 공급자의 이벤트를 필터링할지 여부를 지정할 수 있습니다.Optionally, you can specify whether to filter out events from this provider, based on category or importance level. 범주 필드를 사용해서 동시성 시각화 도우미 SDK 범주를 기준으로 필터링할 수 있습니다.You can use the category field to filter based on Concurrency Visualizer SDK categories. 이렇게 하려면 쉼표로 구분된 범주 문자열 또는 범주 범위를 입력합니다.To do this, enter a comma-delimited string of categories or ranges of categories. 그러면 현재 공급자에서 표시할 이벤트 범주가 지정됩니다.This specifies the categories of events in the current provider to show. <xref:System.Diagnostics.Tracing.EventSource> 공급자를 추가하려는 경우, 범주 필드를 사용해서 ETW 키워드로 필터링할 수 있습니다.If you are adding an <xref:System.Diagnostics.Tracing.EventSource> provider, you can use the category field to filter by ETW keyword. 키워드는 비트 마스크이기 때문에 쉼표로 구분된 정수 문자열을 사용해서 마스크에서 설정되는 비트를 지정할 수 있습니다.Because the keyword is a bitmask, you can use a comma-delimited string of integers to specify which bits in the mask are set. 예를 들어, "1,2"는 첫 번째 및 두 번째 비트를 설정하고 십진수 6으로 변환됩니다.For example, "1,2" sets the first and second bits, and this translates to 6 in decimal.

중요도 수준 목록을 사용해서 중요도 또는 ETW 수준이 지정된 값보다 낮은 이벤트를 필터링할 수 있습니다.You can use the importance-level list to filter out events that have an importance or ETW level that's less than the specified value.

기존 공급자 구성Configuring an Existing Provider

기존 공급자와 연관된 설정을 편집하려면 목록에서 선택한 후 공급자 편집 단추를 선택합니다.To edit settings that are associated with an existing provider, select it in the list, and then choose the Edit provider button. 이름, GUID 및 필터 설정을 변경할 수 있습니다.You can change the name, GUID, and filtering settings.

동시성 시각화 보고서에서 표식 데이터 필터링Filter Marker Data Out of Concurrency Visualizer Reports

이후 추적에 특정 공급자에 대한 데이터를 표시하지 않으려면 제거하려는 공급자 옆에 있는 확인란의 선택을 취소합니다.If you don't want data for a particular provider to appear in future traces, clear the check box next to the provider that you want to remove.

파일Files

파일 탭에서는 추적이 수집될 때마다 저장되는 추적 파일의 디렉터리를 지정할 수 있습니다.On the Files tab, you can specify the directory under which trace files are stored each time a trace is collected. 동시성 시각화 도우미는 수집하는 각 추적에 대해 4개의 파일을 생성합니다.The Concurrency Visualizer generates four files for each trace it collects:

  • 커널 모드 ETL(이벤트 추적 로그) 파일(. kernel.etl)A kernel-mode event trace log (ETL) file (.kernel.etl)

  • 사용자 모드 이벤트 추적 로그 파일(. user.etl)A user-mode event trace log file (.user.etl)

  • 동시성 시각화 도우미 데이터 파일(.CVData)A Concurrency Visualizer Data file (.CVData)

  • 동시성 시각화 도우미 추적 파일(.CVTrace)A Concurrency Visualizer Trace file (.CVTrace)

    두 ETL 파일에는 원시 추적 데이터가 저장되고, 두 동시성 시각화 도우미 파일에는 처리된 데이터가 저장됩니다.The two ETL files store the raw trace data, and the two Concurrency Visualizer files store the processed data. 추적이 처리된 다음에는 일반적으로 원시 ETL 파일이 사용되지 않습니다.The raw ETL files are typically not used after a trace is processed. 분석 후 ETL(이벤트 추적 로그) 파일 삭제 확인란을 선택하면 디스크에 저장되는 추적 파일의 양이 줄어듭니다.Selecting the Delete Event Trace Log (ETL) files after analysis check box reduces the amount of trace data that's stored on your disk.

참고 항목See Also

내 코드만 Just My Code
동시성 시각화 도우미 표식Concurrency Visualizer Markers