Compartir a través de


Cuadro de diálogo Configuración avanzada (Visualizador de Concurrencia)

Mediante el cuadro de diálogo Configuración avanzada del Visualizador de simultaneidad, puede controlar cómo se recopilan las trazas. El cuadro de diálogo tiene pestañas para símbolos, Solo mi código, almacenamiento en búfer, filtrado, eventos CLR, marcadores, proveedores y archivos.

Símbolos

El Visualizador de Simultaneidad utiliza la misma configuración de símbolos que el depurador de Visual Studio. El Visualizador de Simultaneidad utiliza la configuración para resolver pilas de llamadas que están asociadas con los datos de rendimiento. Cuando procesa seguimientos, el Visualizador de Simultaneidad accede a los servidores de símbolos especificados en la página de configuración de ajustes. Cuando se accede a estos datos a través de una red, el procesamiento de seguimiento se ralentiza. Para reducir la cantidad de tiempo necesario para resolver símbolos, puede almacenar en caché los símbolos localmente. Si se han descargado símbolos, Visual Studio los cargará desde la caché local.

Solo mi código

De forma predeterminada, Just My Code es el conjunto de . exe y . archivos dll asociados a la solución actual en Visual Studio. El visualizador de simultaneidad evalúa este conjunto de archivos cuando se usa la característica Just My Code para filtrar las pilas de llamadas. En la pestaña Just My Code (Solo mi código), puede agregar directorios que contengan . exe y . archivos dll en las ubicaciones que usa el visualizador de simultaneidad para Just My Code.

Las rutas de acceso de los archivos .exe y .dll se almacenan en el archivo de seguimiento cuando se recopila el seguimiento. Cambiar esta configuración no afecta a los seguimientos recopilados anteriormente.

Almacenamiento en búfer

El Concurrency Visualizer utiliza Event Tracing for Windows (ETW) al recoger un trazo. ETW usa varios búferes a medida que almacena eventos. Es posible que la configuración predeterminada del búfer ETW no sea óptima en todos los casos y, en algunos casos, podría provocar problemas como eventos perdidos. Puede usar la pestaña Almacenamiento en búfer para configurar los valores del búfer ETW. Para obtener más información, consulte Seguimiento deeventos y estructura de EVENT_TRACE_PROPERTIES.

Filter

En la pestaña Filtro, puede seleccionar el conjunto de eventos que recopila el Visualizador de Concurrencia. Al seleccionar un subconjunto de eventos, se limitan los tipos de datos que se muestran en los informes, se reduce el tamaño de cada seguimiento y se reduce el tiempo necesario para procesar los seguimientos.

Eventos CLR

Los eventos generados por el Common Language Runtime (CLR) permiten que el Visualizador de Concurrencia resuelva las pilas de llamadas administradas. Si deshabilita la recopilación de eventos CLR, se reducirá el tamaño del seguimiento, pero es posible que algunas pilas de llamadas no se resuelvan. Como resultado, es posible que algunas actividades de subproceso de CPU se clasifiquen incorrectamente.

Recopilación de procesos nativos

De forma predeterminada, los eventos CLR solo se recopilan cuando se genera un perfil de proceso administrado porque normalmente no son necesarios para los procesos nativos. En algunos casos (por ejemplo, cuando un proceso nativo hospeda el CLR), podría tener que recopilar eventos de CLR para el proceso nativo. Si este es el caso, active la casilla Recopilar para procesos nativos .

Deshabilitar eventos de cierre

CLR genera eventos de dos proveedores: runtime y rundown. Si desea recopilar eventos en tiempo de ejecución de CLR, pero quiere evitar la recopilación de eventos de finalización, marque la casilla Deshabilitar Eventos de Finalización. Esto reduce el tamaño del archivo de seguimiento generado por la colección, pero es posible que algunas pilas no se resuelvan. Para obtener más información, consulte Proveedores ETW de CLR.

Eventos de ejemplo

Puede usar eventos de ejemplo para recopilar pilas de llamadas asociadas a la ejecución de subprocesos. Estos eventos se recopilan aproximadamente una vez por milisegundos para los subprocesos que se ejecutan en el proceso actual. Si deshabilita la colección de eventos de ejemplo, se reduce el tamaño del seguimiento recopilado, pero no puede ver ninguna pila de llamadas asociada a la ejecución del subproceso.

Eventos de GPU

Los eventos de GPU son eventos generados por DirectX. Si deshabilita la recopilación de eventos de GPU, se reduce el tamaño del seguimiento recopilado, pero no puede ver ninguna actividad de GPU en la vista Uso o la actividad del motor directX en la vista Subprocesos.

Eventos de E/S de archivos

Los eventos de E/S de archivo representan accesos al disco en nombre del proceso actual. Si deshabilita los eventos de E/S de archivos, se reduce el tamaño del seguimiento, pero la Vista de Subprocesos no notificará información sobre los canales de disco ni las operaciones de disco.

Marcadores

En la pestaña Marcadores, puede configurar el conjunto de proveedores ETW que se muestran como Marcadores en el Visualizador de Concurrencia. También puede filtrar la colección Marker según el nivel de importancia y la categoría ETW. Si usa el SDK del Visualizador de Simultaneidad y utiliza su propio Proveedor de Marcadores, puede registrarlo aquí para que aparezca en la Visualización de Hilos.

Adición de un nuevo proveedor

Si el código usa el SDK del visualizador de simultaneidad o genera eventos ETW que siguen la EventSource convención, puede ver estos eventos en el Visualizador de simultaneidad registrándolos en este cuadro de diálogo.

En el campo Nombre , escriba un nombre que describa los tipos de eventos generados por el proveedor. En el campo GUID , escriba el GUID asociado a este proveedor. (Un GUID está asociado a cada proveedor ETW).

Opcionalmente, puede especificar si se van a filtrar los eventos de este proveedor, en función del nivel de categoría o importancia. Puede usar el campo de categoría para filtrar según las categorías del SDK del Visualizador de Simultaneidad. Para ello, escriba una cadena delimitada por comas de categorías o intervalos de categorías. Especifica las categorías de eventos del proveedor actual que se van a mostrar. Si va a agregar un EventSource proveedor, puede usar el campo de categoría para filtrar por palabra clave ETW. Dado que la palabra clave es una máscara de bits, puede usar una cadena delimitada por comas de números enteros para especificar qué bits de la máscara se establecen. Por ejemplo, "1,2" establece los bits primero y segundo, y esto se traduce en 6 en decimal.

Puede usar la lista de nivel de importancia para filtrar los eventos que tienen un nivel de importancia o ETW menor que el valor especificado.

Configuración de un proveedor existente

Para editar la configuración asociada a un proveedor existente, selecciónela en la lista y, a continuación, elija el botón Editar proveedor . Puede cambiar la configuración de nombre, GUID y filtrado.

Filtrar datos de marcador de los informes de Concurrency Visualizer

Si no desea que los datos de un proveedor determinado aparezcan en seguimientos futuros, desactive la casilla situada junto al proveedor que desea quitar.

Archivos

En la pestaña Archivos , puede especificar el directorio en el que se almacenan los archivos de seguimiento cada vez que se recopila un seguimiento. El Visualizador de Concurrencia genera cuatro archivos para cada traza que recoge.

  • Un archivo de registro de seguimiento de eventos (ETL) en modo kernel (.kernel.etl*)

  • Un archivo de registro de seguimiento de eventos en modo de usuario (.user.etl*)

  • Un archivo de datos del visualizador de simultaneidad (.CVData*)

  • Un archivo de seguimiento de Concurrency Visualizer (.CVTrace*)

    Los dos archivos ETL almacenan los datos de seguimiento sin procesar y los dos archivos del visualizador de simultaneidad almacenan los datos procesados. Los archivos ETL sin procesar típicamente no se utilizan después de procesar una traza. Al activar la casilla Eliminar archivos de registro de seguimiento de eventos (ETL) después del análisis , se reduce la cantidad de datos de seguimiento almacenados en el disco.