¿Qué es Cloud Profiler?

| Última modificación: 25 de octubre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

La herramienta Cloud Profiler hace referencia a un generador de perfiles continúo, estadístico y de baja sobrecarga que se encarga de la recopilación de la información de las aplicaciones de producción del usuario acerca del proceso de asignación de memoria, así como el uso de la CPU.

Cloud Profiler cumple la función de asignar estos datos al código fuente de la aplicación, contribuyendo así a la identificación de las partes de la app que están consumiendo más recursos. Esta herramienta ayuda también a comprender mejor todo lo relacionado con las características de rendimiento del código.

Los componentes de este generador de perfiles incluyen elementos como un agente de creación de perfiles, que se encarga de recopilar los datos, y una interfaz de la Google Cloud Console, que le permite al usuario observar y realizar un análisis de los datos recolectados por el agente.

Componentes de Cloud Profiler

Los componentes de Cloud Profiler son:

Agente de creación de perfiles

Un agente en Cloud Profiler será el encargado de la recopilación de los datos de creación de perfiles a medida que la aplicación se va ejecutando. Esta herramienta se instala en las virtual machines o máquinas virtuales donde se ejecuta la aplicación de un usuario.

Usualmente, este agente de creación de perfiles viene como una biblioteca que puede ser conectada a la aplicación del cliente cuando esta se ejecuta.

Interfaz de Profiler

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Otro de los elementos característicos de esta plataforma es su interfaz, que permite el análisis de los datos de perfil de la aplicación del usuario que se recopilan a través de dos elementos gráficos como son:

  • Una vista tipo flame: esta herramienta incluye elementos como la pila de llamadas o la información del uso de recursos relativa.
  • Una vista de historial: se encarga de mostrar el promedio de uso diario de los recursos de las funciones seleccionadas durante los 30 días anteriores.

Esta interfaz incluye, además, menús para seleccionar los perfiles que se utilizarán para la creación del gráfico tipo flame, así como botones para adaptar la forma en la que el usuario ve los perfiles indicados, como la lista, el historial, el filtro y el botón de descarga.

Características de Cloud Profiler

Dentro de los elementos característicos de Cloud Profiler se incluyen los siguientes:

Tipos de perfiles

Cloud Profiler también se caracteriza por recopilar varios tipos de perfiles, como, por ejemplo, el tiempo de CPU o el heap, así como el allocated heap, la contención, los subprocesos y el wall time. La disponibilidad de estos tipos de perfiles dependerá de los lenguajes de programación admitidos por el sistema.

Compatibilidad

Cloud Profiler es compatible con alguno de los lenguajes de programación más populares, como, por ejemplo, Java, Python, Node.js y Go. De la misma manera, este sistema presenta compatibilidad con aplicaciones de la Google Cloud Platform, como lo son Compute Engine o Kubernetes, entornos flexible y estándar de App Engine, Dataflow, Dataproc, así como cualquier tipo de máquina virtual que le incluya el usuario.

Funciones de Cloud Profiler

Dentro de las funciones de Cloud Profiler se encuentran la creación de perfiles de producción de bajo impacto, así como perfiles de aplicación práctica. Estas funciones pueden detalladarse de la siguiente forma:

Perfiles de aplicación práctica

Una de las funciones de Cloud Profiler es la creación de perfiles de aplicación práctica, que contribuyen al análisis continuo del rendimiento de la CPU, así como de otras funciones de uso intensivo de memoria que son ejecutadas dentro de un aplicación.

Esta opción permite, además, presentar una jerarquía del consumo de recursos de acuerdo a la función correspondiente en un gráfico de tipo flame que sea interactivo y que ayudará a los usuarios y desarrolladores a identificar las rutas de acceso que están consumiendo más recursos, así como las diferentes formas en las que el código está recibiendo los llamados del sistema.

Perfiles de producción de bajo impacto

Aunque la gran mayoría de las técnicas diseñadas para crear perfiles de producción tienen la desventaja de ralentizar la ejecución del código o presentan limitaciones (como gestionar solamente un subconjunto de pequeño tamaño dentro de una base de código), esto no sucede con Cloud Profiler. Esto se debe a que la plataforma utiliza técnicas de estadísticas, así como instrumentaciones de impacto muy bajo, que se ejecutan en todas las instancias de la aplicación de producción con el objetivo de ofrecer una visión completa del rendimiento de una app, sin que esta se vea ralentizada.

¿Cuál es el siguiente paso?

En este artículo has podido conocer qué es Cloud Profiler y cuáles son sus características y componentes más relevantes, así como las funciones que realiza. Ahora, no dudes en dar el siguiente paso y continúa tu proceso formativo en esta y otras muchas herramientas a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp. Solo necesitarás 6 meses para aprender todo lo imprescindible para convertirte en un experto en el sector IT y destacar frente a tus competidores. ¡Inscríbete ya y sigue aprendiendo!

Xoán Mallón

Senior DevOps Engineer en Zscaler & Coordinador del Bootcamp DevOps & Cloud Computing.

Posts más leídos

¡CONVOCATORIA ABIERTA!

DevOps & Cloud Computing

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado