Con la versión 5 del Programa de acceso anticipado (EAP) 2023.1 de las herramientas ReSharper , también hicimos que la versión independiente del generador de perfiles de rendimiento dotTrace estuviera disponible en macOS y Linux, tanto para procesadores x64 como ARM64. Ahora puede usar dotTrace como una herramienta independiente para perfilar sus aplicaciones .NET Core, Mono y Unity en los tres principales sistemas operativos.
En esta publicación de blog, veamos cómo puede comenzar con dotTrace en macOS. Tenga en cuenta que para Windows y Linux, el flujo de trabajo será similar.
Descarga dotTrace para tu plataforma
Para descargar dotTrace independiente, puede usar la aplicación JetBrains Toolbox . proporciona un acceso conveniente a todas las herramientas de JetBrains y le permite instalar versiones estables y de acceso anticipado una al lado de la otra.
Alternativamente, descargue la compilación para su sistema operativo haciendo clic en el enlace correspondiente:
- dotTrace para macOS x64
- dotTrace para macOS ARM64
- dotTrace para Linux x64
- dotTrace para Linux ARM64
- dotTrace para Windows x64
- dotTrace para Windows ARM64
Elija lo que desea perfilar y cómo
Después de iniciar dotTrace, aparecerá la pantalla de inicio. Aquí, elegirá qué perfilar y cómo perfilarlo. Además, la pantalla de inicio le brinda acceso a capturas de pantalla anteriores, tutoriales y más. Puede dejar que dotTrace inicie su aplicación o perfile un proceso que ya se está ejecutando.
En el lado izquierdo de la pantalla de inicio, comience agregando una configuración de ejecución. dotTrace en macOS y Linux le permite seleccionar una aplicación de escritorio o consola independiente para perfilar, así como una aplicación .NET Core, Mono o Unity. En Windows, podrá seleccionar otros tipos de aplicaciones, incluidas las aplicaciones alojadas en IIS y los servicios de Windows.
Al crear perfiles de sus propias aplicaciones, no utilice el modo de depuración para compilarlas. Lo ideal es utilizar el modo Release . El compilador optimiza las rutas de llamadas para usted cuando su aplicación se crea en modo de lanzamiento. Por lo general, mejora el rendimiento de su aplicación al incorporar métodos y otras técnicas, y le brindará resultados más relevantes más cercanos a la aplicación que puede estar ejecutando en producción.
Después de seleccionar el tipo de aplicación y encontrar el ejecutable para perfilar, podrá seleccionar el modo de perfilado.
Hay varios otros modos de creación de perfiles que puede seleccionar: línea de tiempo, muestreo, seguimiento y, en Windows, línea por línea. Aquí hay un resumen rápido de lo que admite cada modo:
- La línea de tiempo y el muestreo recopilan información sobre los tiempos de ejecución del método en su aplicación. La línea de tiempo recopila datos adicionales sobre los eventos de la aplicación, distribuidos a lo largo del tiempo. Esto facilita la investigación de bloqueos de la interfaz de usuario, problemas de recolección de elementos no utilizados, inanición de subprocesos, etc. En general, la línea de tiempo y el muestreo tienen poca sobrecarga para su aplicación en ejecución.
- Tracing y Line-by-Line recopilan información sobre la cantidad de veces que se llama a un método en su aplicación. El seguimiento hace esto en el nivel de método, Línea por línea (solo en Windows) rastrea los números de llamada en el nivel de declaración. Tracing y Line-by-Line le brindarán números de llamadas precisos, pero debido a la sobrecarga que agregan, no son confiables para medir los tiempos de las llamadas.
Por lo general, su flujo de trabajo de creación de perfiles comenzará con la creación de perfiles de línea de tiempo.
dotTrace también le permite elegir varias otras opciones, como si desea perfilar los procesos secundarios de su aplicación, utilizar la API de perfilado en su aplicación para controlar cuándo capturar instantáneas del código y más.
¡Todo listo! Ahora puede hacer clic en Inicio , que iniciará el perfilador y la aplicación que desea perfilar.
Control de instantáneas del generador de perfiles
Después de iniciar dotTrace para perfilar una aplicación, se mostrará un controlador de perfilador. El controlador le permite comenzar a crear perfiles y decidir cuándo capturar una instantánea que puede investigar. Puede ver el uso de CPU y memoria de su aplicación en un gráfico, que puede ser útil para identificar un pico de CPU después del cual desea capturar una instantánea.
Cuando haya capturado suficientes datos, haga clic en Obtener instantánea y Esperar para guardar la instantánea y abrirla en el visor de dotTrace.
Analizando una instantánea
El visor dotTrace le muestra información sobre lo que sucedió durante su sesión de creación de perfiles. En el lado izquierdo, verá todos los tipos de eventos que puede filtrar. El centro del escenario es la línea de tiempo de su sesión de creación de perfiles, donde puede hacer zoom en momentos específicos. El lado derecho del visor muestra puntos de acceso en el código donde se gasta mucho tiempo y un árbol de llamadas de todos los métodos.
Todo en el visor de dotTrace es un filtro. Si amplía un período de tiempo, todas las vistas se actualizarán para mostrar datos relevantes para ese período de tiempo. Si selecciona una llamada de método específica para analizar, verá los puntos destacados de la línea de tiempo cuando se llame a ese método, y los eventos se limitarán a los eventos que ocurrieron durante ese período de tiempo.
Consulte la documentación de dotTrace para obtener más información sobre el análisis de instantáneas del perfilador de .NET .
Resumen
La versión 2023.1 EAP 5 de las herramientas ReSharper agregó soporte para la versión independiente del generador de perfiles de rendimiento dotTrace en macOS y Linux, tanto para procesadores x64 como ARM64. El flujo de trabajo de generación de perfiles es el mismo que en Windows: seleccione la aplicación para perfilar, elija un modo de generación de perfiles y capture y analice una instantánea.
Si necesita perfilar aplicaciones en una máquina remota, puede usar el perfilador de línea de comandos de dotTrace para capturar una instantánea y usar el visor de dotTrace en su máquina para analizarla, sin importar si está ejecutando Windows, macOS o Linux. Y, por supuesto, puede perfilar sus aplicaciones desde Visual Studio y también directamente desde Rider .
Pruebe la versión del Programa de acceso anticipado (EAP) de dotTrace en macOS o Linux y háganos saber cómo le va.