Cómo: Adjuntar el generador de perfiles a un servicio .NET para recopilar datos de simultaneidad utilizando la línea de comandos

En este tema se describen cómo utilizar las herramientas de línea de comandos de las herramientas de generación de perfiles de Visual Studio para adjuntar el generador de perfiles a un servicio de .NET Framework y recopilar datos de simultaneidad de procesos y subprocesos utilizando el método de muestreo.

[!NOTA]

Las características de seguridad mejoradas en Windows 8 y Windows Server 2012 requerían cambios significativos en la forma en que el generador de perfiles de Visual Studio recopila datos en estas plataformas.Las aplicaciones del almacén de Windows también requieren nuevas técnicas de colección.Vea Generar perfiles de aplicaciones de Windows 8 y Windows Server 2012.

[!NOTA]

Las herramientas de línea de comandos de las herramientas de generación de perfiles se encuentran en el subdirectorio \Team Tools\Performance Tools del directorio de instalación de Visual Studio.En equipos de 64 bits, están disponibles versiones de 64 bits y de 32 bits de las herramientas.Para utilizar las herramientas de línea de comandos del generador de perfiles, debe agregar la ruta de acceso de las herramientas a la variable de entorno PATH de la ventana de símbolo del sistema o agregarla al propio comando.Para obtener más información, vea Especificar la ruta de acceso a las herramientas de línea de comandos de Herramientas de generación de perfiles.

Para recopilar datos de simultaneidad, adjunta el generador de perfiles al proceso del servicio.Mientras el generador de perfiles está adjunto al servicio, puede pausar y reanudar la recolección de datos.Para finalizar una sesión de generación de perfiles, el generador de perfiles no debe estar ya adjunto al servicio y debe apagarse explícitamente.En la mayoría de los casos, recomendamos borrar las variables de entorno de generación de perfiles al final de una sesión.

Adjuntar el generador de perfiles

Para adjuntar el generador de perfiles a un servicio de .NET Framework

  1. Instale el servicio.

  2. Abra una ventana de comandos.

  3. Inicialice las variables de entorno de generación de perfiles.Tipo:

    VSPerfClrEnv/globalsampleon [/samplelineoff]

    • /globalsampleon habilita el muestreo.

    • /samplelineoff deshabilita la asignación de los datos recopilados a líneas de código fuente específicas.Cuando se especifica esta opción, los datos se asignan solo a funciones.

  4. Reinicie el equipo.

  5. Inicie el generador de perfiles.Tipo:

    VSPerfCmd/start:concurrency **/output:**OutputFile [Options]

    La opción /output**:**OutputFile es necesaria con /start.OutputFile especifica el nombre y la ubicación del archivo de datos de generación de perfiles (.vsp).

    Puede usar cualquiera de las siguientes opciones con la opción /start.

    [!NOTA]

    Las opciones /user y /crosssession son necesarias normalmente para servicios.

    Opción

    Descripción

    /user:[Domain\]UserName

    Especifica el dominio y el nombre de usuario de la cuenta propietaria del proceso para el que se han generado perfiles.Esta opción solamente es necesaria si el proceso se está ejecutando como otro usuario distinto del usuario que inició sesión.El propietario del proceso se muestra en la columna Nombre de usuario de la pestaña Procesos del Administrador de tareas de Windows.

    /crosssession

    Habilita la generación de perfiles de procesos en otras sesiones.Esta opción es necesaria si el servicio se ejecuta en una sesión diferente.El identificador de sesión se muestra en la columna Id. de sesión de la pestaña Procesos del Administrador de tareas de Windows./CS se puede especificar como una abreviatura de /crosssession.

    /wincounter:WinCounterPath

    Especifica un contador de rendimiento de Windows que se va a recopilar durante la generación de perfiles.

    /automark:Interval

    Se utiliza únicamente con /wincounter.Especifica el número de milisegundos entre eventos de recopilación de contadores de rendimiento de Windows.El valor predeterminado es 500 ms.

    /events:Config

    Especifica un evento de Seguimiento de eventos para Windows (ETW) que se va a recopilar durante la generación de perfiles.Los eventos ETW se recopilan en un archivo (.etl) independiente.

  6. Si es necesario, inicie el servicio.

  7. Adjunte el generador de perfiles al servicio.Tipo:

    **VSPerfCmd /attach:PID [/targetclr:**Version]

    • PID especifica el identificador de proceso o el nombre del servicio.Puede ver los identificadores de todos los procesos que se están ejecutando en el Administrador de tareas de Windows.

    • **targetclr:**Version especifica la versión de Common Language Runtime (CLR) para generar perfiles cuando se carga más de una versión del runtime en una aplicación.Opcional.

Controlar la recolección de datos

Mientras se ejecuta el servicio, puede controlar la recolección de datos iniciando o deteniendo la escritura de los datos en el archivo con las opciones de VSPerfCmd.exe.Al controlar la recolección de datos, puede recopilar datos de una parte específica de la ejecución de un programa, como por ejemplo el inicio o el cierre de la aplicación.

Para iniciar y detener la recolección de datos

  • Los siguientes pares de opciones de VSPerfCmd inician y detienen la recolección de datos.Especifique cada opción en una línea de comandos diferente.Puede activar y desactivar la recolección de datos varias veces.

    Opción

    Descripción

    /globalon /globaloff

    Inicia (/globalon) o detiene (/globaloff) la recolección de datos de todos los procesos.

    /processon:PID/processoff:PID

    Inicia (/processon) o detiene (/processoff) la recolección de datos del proceso especificado por el identificador del proceso (PID).

    /attach:{PID|ProcName} /detach[:{PID|ProcName}]

    /attach inicia la recolección de datos para el proceso especificado por el identificador de proceso o por el nombre de proceso./detach detiene la recolección de datos para el proceso especificado o para todos los procesos si no se especifica uno.

  • También puede usar la opción VSPerfCmd.exe/mark para insertar una marca de generación de perfiles en el archivo de datos.El comando /mark agrega un identificador, una marca de tiempo y una cadena de texto opcional definida por el usuario.Las marcas se pueden utilizar para filtrar los datos que se muestran en las vistas de informes y datos del generador de perfiles.Los siguientes pares de opciones de VSPerfCmd inician y detienen la recolección de datos.Especifique cada opción en una línea de comandos diferente.Puede activar y desactivar la recolección de datos varias veces.

Finalizar la sesión de generación de perfiles

Para finalizar la sesión de generación de perfiles, el generador de perfiles no debe estar recopilando datos.Puede dejar de recopilar datos de una aplicación para la que se ha ejecutado la generación de perfiles con el método de simultaneidad deteniendo el servicio o invocando la opción VSPerfCmd /detach.Después invoque la opción VSPerfCmd /shutdown para desactivar el generador de perfiles y cerrar el archivo de datos de generación de perfiles.El comando VSPerfClrEnv /globaloff borra las variables de entorno de generación de perfiles, pero la configuración del sistema no se restablece hasta que se reinicia el equipo.

Para finalizar una sesión de generación de perfiles

  1. Siga uno de estos procedimientos para desasociar el generador de perfiles de la aplicación de destino.

    • Detenga el servicio.

      O bien

    • Escriba VSPerfCmd /detach.

  2. Apague el generador de perfiles.Tipo:

    VSPerfCmd Apagar

Historial de cambios

Fecha

Historial

Motivo

En diciembre de 2011

Paso quitado de VSPerfClrEnv /sampleon .

Corrección de errores de contenido.