Perfil Ir con Pprof

En el sistema operativo Linux, el ecosistema GO ofrece un gran conjunto de herramientas y SPI para diagnosticar los problemas de rendimiento y lógica en el programa GO. Una de las soluciones de diagnóstico es el perfilado GO. La función de la generación de perfiles GO es analizar un programa GO en términos de costo, uso de memoria y llamadas de función frecuentes para determinar la sección más costosa del programa. Esta página demuestra el uso del paquete pprof para realizar el perfilado GO en unos segundos. Aquí, exploraremos la función pprof para perfilar un programa GO. ¡Vamos a empezar!

¿Qué es un paquete Pprof en Linux?

El paquete pprof en el sistema operativo Linux es una herramienta de generación de perfiles que se utiliza para escribir los datos de generación de perfiles en tiempo de ejecución en el formato requerido con la ayuda de la herramienta de visualización pprof. Sirve a través de un servidor HTTP para los datos de creación de perfiles de tiempo de ejecución, y se importa principalmente por los efectos secundarios de registrar sus controladores HTTP. Todas las rutas de manejo del comando pprof comienzan con /debug/pprof/ seguido de un comando determinado.

Cómo instalar el paquete Pprof para generar perfiles GO en el sistema Ubuntu 22.04

Si buscas un proceso rápido de instalación de perfilado en go, pero todo es engorroso, sigamos el siguiente proceso. Debe seguir algunos pasos para instalar pprof en el sistema Ubuntu 22.04. Aquí están esos pasos:

Primero, necesitamos instalar todas las dependencias para que el paquete pprof no se detenga. Primero, instala la dependencia de Graphviz con el siguiente comando:

Asegúrese de usar «sudo» para otorgar el privilegio de root. De lo contrario, es posible que el sistema no le permita instalar ningún paquete. Vea el siguiente resultado:

Ahora, el sistema tiene las dependencias para el paquete pprof. Le permite instalar el paquete pprof. Use el comando «ir a buscar» para obtener el pprof de GitHub. Aquí está el comando:

Si no tiene el comando «ir» preinstalado, deberá instalarlo específicamente para poder usarlo. Nuestro sistema no tenía instalado el comando «ir», por lo que obtuvimos el resultado «comando no encontrado». Vea el siguiente resultado:

Instale primero el paquete «go» y luego utilícelo para obtener el paquete pprof de GitHub. Como puede ver en la captura de pantalla anterior, tenemos tres opciones diferentes para instalar el paquete «go», por lo que podemos usar cualquiera de ellas. Todos dan el mismo resultado con características ligeramente diferentes. Sin embargo, estamos usando el comando “sudo apt install golang-go” para instalar la versión del paquete “go” “2:1.18~0ubuntu2”. Ejecute el siguiente comando:

Esto le permite instalar el paquete «go», así como todas sus dependencias y bibliotecas relevantes. Vea el siguiente resultado:

Ahora, vaya al repositorio de GitHub e instale el paquete pprof. Un paquete pprof es una herramienta utilizada para el análisis y la visualización de los datos de perfil, pero no es un producto oficial de Google. Es por eso que puede utilizar el repositorio de GitHub e instalar manualmente el paquete pprof con el comando «ir». Asegúrese de que su sistema cumpla con todas las necesidades de requisitos previos antes de iniciar el comando «ir a instalar github.com/google/pprof@latest». Los requisitos previos son un kit de desarrollo «go» de una versión compatible y una aplicación graphviz para generar la visualización gráfica de los perfiles. La aplicación Graphviz es opcional, por lo que puede omitirla si lo desea. Como instalamos ambos y preparamos una plataforma para el paquete pprof, nuestro sistema está listo para instalarlo. Obtengamos acceso al repositorio de GitHub para iniciar el proceso de instalación.

Este comando va a la dirección «github.com/google/pprof@latest». Instale los paquetes pprof desde el repositorio de GitHub. Vea el siguiente resultado:

El comando “ir” descargó el paquete y se instaló en el sistema Ubuntu 22.04 sucesivamente. El binario está instalado de manera predeterminada en la ubicación $HOME/go/bin.

Mostrar la página del manual de Pprof

Ahora, consulte la página del manual de pprof para obtener los detalles del paquete pprof. La página del manual contiene todas las opciones para el paquete pprof con un breve detalle de cada una. Esto le permite conocer cada opción del pprof y usarlas en sus códigos con facilidad. Además, siempre que lo necesite, puede volver a consultar la página del manual utilizando el indicador de ayuda. Aquí sabrás como podrás hacerlo:

Esto muestra la página del manual completo en su terminal. Echa un vistazo a lo siguiente:

Como puede ver, hay muchas opciones disponibles para el comando pprof. Puede utilizar cualquiera de ellos para obtener los datos de perfil formateados necesarios.

Use Pprof para perfilar los datos

Para usar el pprof en su programa, primero importe el paquete pprof. Use el siguiente comando para importar el paquete pprof:

Antes de iniciar la importación, asegúrese de que la aplicación ya esté ejecutando un servidor HTTP. Si no tiene ningún servidor de aplicaciones de servidor HTTP en ejecución, debe iniciar uno agregando «net/http» e «log» en la importación y agregue el siguiente código:

Ahora, puede usar el comando pprof para ver el perfil del montón. El siguiente comando se usa para verificar el perfil de almacenamiento dinámico de http://localhost:

Este comienza a buscar el perfil e intenta conectarse al servidor http. Vea la siguiente respuesta:

Siguiendo el mismo procedimiento, puede ver un perfil de CPU de 30 segundos, un perfil de bloqueo de goroutine, titulares de mutex en disputa, etc.

Conclusión

Este manual es un recorrido rápido por un comando pprof utilizado en el sistema operativo Ubuntu 22.04. Exploramos qué es el comando pprof en el sistema Linux. Y aprendimos a instalarlo en nuestro sistema Ubuntu 22.04. También aprendimos sobre la variedad de opciones disponibles para el paquete pprof en el sistema operativo Linux. La función básica del paquete pprof es servir a través de un servidor HTTP para los datos de perfilado en tiempo de ejecución mientras proporciona los datos perfilados en un formato requerido a través de la herramienta de visualización de pprof. Esto le permite perfilar GO en solo 30 segundos.