Linux Adictos Darkcrizt  

DTrace una excelente utilidad para el monitoreo del sistema y aplicaciones

DTrace es un framework de rastreo y monitoreo

DTrace

DTrace es un framework de rastreo y monitoreo completo y dinámico desarrollado para diagnosticar problemas en el kernel y aplicaciones en sistemas de producción en tiempo real. Inicialmente creado para Solaris, DTrace ha sido portado a otros sistemas operativos tipo Unix.

DTrace fue desarrollado para apoyar a los administradores de sistemas en la resolución de problemas de seguimiento dinámico en el kernel y las aplicaciones finales en el sistema operativo Solaris y es compatible con kernels de Linux estándar que admitan BPF. Para su funcionamiento, requiere la biblioteca libctf compatible con el formato de depuración CTF incluida en el paquete binutils o la biblioteca libdtrace-ctf, portada desde Solaris.

Esta herramienta permite a los administradores del sistema y a los desarrolladores:

  • Monitoreo del sistema: DTrace proporciona al usuario información detallada sobre el uso de recursos como del equipo, como lo es el CPU, la memoria y el almacenamiento, lo que permite identificar cuellos de botella y mejorar la eficiencia del sistema.
  • Depurar problemas de rendimiento: Permite identificar y diagnosticar problemas de rendimiento en tiempo real, lo que facilita la resolución de problemas y la optimización del sistema.
  • Optimizar el funcionamiento: Al proporcionar información detallada sobre el comportamiento de las aplicaciones, DTrace permite a los desarrolladores optimizar el rendimiento de sus programas y mejorar la eficiencia del sistema en general.

Hasta hace algunos años Oracle brindo el soporte de DTrace para Linux y la herramienta se ofrece como una implementación de un proceso de espacio de usuario que utiliza el subsistema eBPF y los mecanismos de seguimiento estándar proporcionados por el kernel de Linux. En términos de funcionalidad, esta implementación de DTrace basada en eBPF se asemeja a la primera versión de DTrace para Linux, que estaba implementada como un módulo de kernel.

Sobre DTrace 2.0.0-1.14

Actualmente, DTrace se encuentra en su versión 2.0.0-1.14 se distribuye en forma de dos parches opcionales para el kernel 6.7 que permiten utilizar funciones avanzadas para obtener datos adicionales sobre los módulos y el kernel, ademas el proveedor pid, utilizado para rastrear procesos en el espacio del usuario, ahora cuenta con soporte para rastrear la ejecución de instrucciones según su desplazamiento en el código.

Cuenta con soporte para utilizar las funciones stack() y ustack() para agregar datos recopilados, capacidad de eliminar elementos de cualquier tipo de matrices asociativas asignando el literal 0, facilitando la gestión de datos en matrices.

DTrace 2.0.0-1.14 ofrece una gama de opciones para diferentes aspectos del sistema, incluyendo contadores de rendimiento de la CPU, límites de funciones, bloqueos, ciclo de vida de procesos y se ha incluido una nueva acción de impresión para generar datos estructurados con anotaciones de tipo, mejorando la presentación de los resultados del seguimiento.

Ademas de ello permite realizar agregaciones de datos de trazado y ejecutar acciones basadas en los resultados con las nuevas funciones integradas cleanpath(), d_path() y link_ntop() y se ha proporcionado la capacidad de guardar datos de seguimiento del proceso (USDT) entre reinicios de dtprobed, asegurando la continuidad del seguimiento incluso después de reinicios.

Por otra parte, también se destaca que se ha añadido el parámetro «-xcpu», que permite vincular comprobaciones a CPU específicas, se ha introducido la opción «-xlockmem» para limitar el tamaño de la memoria utilizada, optimizando el rendimiento del sistema.

Se ha añadido soporte para el mecanismo BTF, que proporciona información de verificación de tipos en pseudocódigo BPF y ahora es posible utilizar el script de configuración para construir, simplificando el proceso de configuración y personalización del kit de herramientas de depuración.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Obtener DTrace

Para los interesados en la herramienta, deben saber que Oracle ofrece los paquetes de espacio de usuario x86_64 y aarch64 DTrace prediseñados para Oracle Linux 9 (kernel UEK7), Oracle Linux 8 (kernel UEK7 o UEK6) y Oracle Linux 7 (kernel UEK6).

Mientras que para las demás distribuciones, debes de contar con una serie de dependencias, las cuales puedes consultar en este enlace y que son necesarias antes de que compiles el código fuente por tu cuenta.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.