PyConES 2023

Desentrañando el código: La magia de la instrumentación en Python
07/10/2023 , Bollullo (Aula Magna)
Idioma: Español

A medida que nuestros programas en Python aumentan en complejidad, también lo hacen los problemas que nos encontramos: desafíos en el código que no se ven a simple vista, bugs extraños que pasamos días depurando o problemas de rendimiento que no son evidentes.

Para poder indagar a fondo en estos problemas y saber qué está ocurriendo con nuestro código o incluso para escribir tests en los que reproducir estos casos, vamos a necesitar herramientas que parecen mágicas. La mayoría de estas herramientas usan técnicas de instrumentación de código.

En esta charla veremos qué es la instrumentación de código, las principales técnicas de instrumentación que tenemos disponibles en Python, como el monkey patching, AST patching o bytecode patching, así como las librerías más usadas para conseguir una instrumentación robusta y fiable. Finalmente veremos un par de ejemplos prácticos donde la instrumentación nos permite depurar nuestro código o medir los tiempos de ejecución.

El objetivo final de la charla es que entendamos cómo funciona la instrumentación de código y por tanto las herramientas que se basan en este principio, y dejen de parecernos magia fuera de nuestro alcance.


Temática:

Core

Nivel de la propuesta:

Intermediate (it is necessary to understand the related bases to go into detail)

Me paso la vida en Emacs y PDB, trabajo para Datadog revelando vulnerabilidades de seguridad en el código y haciendo que los tests corran mejor y más rápido