Los desarrolladores que gestionan aplicaciones en la nube saben lo difícil que es encontrar una manera efectiva de depurar sin tener que afectar la experiencia de usuario, esto se convierte en todo un desafío, pero afortunadamente llegó Snapshot Debugger en Google, una herramienta que nos ayuda aidentificar problemas en aplicaciones en tiempo real y permite inspeccionar el estado del sistema sin detener su funcionamiento. El día de hoy te contamos en qué consiste Snapshot Debugger en Google y cómo funciona.
¿Qué es Snapshot Debugger en Google?
Snapshot Debugger es una herramienta que sirve para hacer depuración en la nube. Es de código abierto y permite tomar instantáneas del estado de la aplicación mientras esta se ejecuta. Se diferencia de otros depuradores porque normalmente estos detienen la aplicación, pero snapshot debugger en google no la interrumpe ni ralentiza el sistema. Se puede utilizar en cualquier entorno, ya sea de pruebas, de desarrollo o de producción.
Gracias a Snapshot debugger en google puedes tomar capturas de la ejecución en cualquier punto del código, hacer análisis de variables, condiciones y trazas sin que los usuarios finales noten la latencia. Sumado a estas características, la herramienta añade menos de 10ms de retraso solo cuando se captura el estado de la aplicación, cosa que es casi imperceptible para la mayoría de usuarios.
¿Cómo instalar Snapshot Debugger en tu entorno?
Para comenzar a usar Snapshot Debugger en Google, es importante contar con ciertos requisitos y permisos en tu proyecto de Google Cloud. Sigue estos pasos para la configuración inicial:
- Instala la CLI de Snapshot Debugger: La CLI de Snapshot Debugger se instala en tu entorno local o en Cloud Shell usando el siguiente comando:
python3 -m pip install snapshot-dbg-cli
Esta CLI te permite ejecutar comandos de depuración de rápidamente y sin complicaciones.
- Configura tu entorno
- Asegúrate de tener Python 3.6 o superior y la gcloud CLI instalada.
- Inicia sesión en gcloud con el comando gcloud auth login y configura tu proyecto con gcloud config set project PROJECT_ID.
- Configura Firebase RTDB: El Snapshot Debugger en Google utiliza Firebase Realtime Database (RTDB) para la comunicación de datos de depuración. Puedes habilitarlo en el Panel de Firebase.
Comandos básicos de Snapshot Debugger
Veamos algunso de los comandos que má sse usan en la depuración con snapshot debugger de Google:
- Listar instancias de depuración (Debuggees): Para ver las instancias en ejecución de la aplicación:
snapshot-dbg-cli list_debuggees
- Tomar una instantánea en una línea de código específica: Este comando captura el estado de la aplicación en el momento de ejecución de una línea específica:
snapshot-dbg-cli set_snapshot index.js:21 --debuggee-id d-8dd7f149
- Establecer condiciones para tomar instantáneas: Las condiciones permiten capturar instantáneas solo cuando se cumplen ciertos criterios:
snapshot-dbg-cli set_snapshot index.js:26 --debuggee-id d-8dd7f149 --condition="variable <= 10"
- Revisar las instantáneas almacenadas: Para revisar las instantáneas capturadas, puedes listar y obtener detalles con los comandos:
snapshot-dbg-cli list_snapshots --debuggee-id d-8dd7f149
snapshot-dbg-cli get_snapshot SNAPSHOT_ID --debuggee-id d-8dd7f149
¿Qué puede hacer y qué no puede hacer Snapshot debugger en Google?
Usos principales
🔴 ¿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 semanaEl Snapshot Debugger en Google es recomendado en múltiples contextos, pero es muy eficaz en aplicaciones en la nube donde la disponibilidad y la estabilidad son prioritarias. Algunos de los principales usos incluyen:
- Depuración de errores en producción: Permite detectar problemas en tiempo real sin afectar a los usuarios.
- Análisis de rendimiento: Ayuda a entender cómo se comporta el código en diferentes escenarios y optimizar la aplicación.
- Monitorización en pruebas: Facilita la captura de datos en entornos de prueba para análisis sin detener la aplicación.
Limitaciones del snapshot debugger en Google
A pesar de sus ventajas, Snapshot Debugger tiene algunas limitaciones:
- Compatibilidad: No soporta Python 2.7.
- Soporte finalizado: El proyecto ha sido archivado y no recibe actualizaciones o parches de seguridad.
- Complejidad en configuraciones avanzadas: Para configuraciones fuera del entorno por defecto, es necesario realizar ajustes manuales.
Si te interesó este tema y quieres seguir aprendiendo más al respecto, no puedes perderte nuestro bootcamp en devops y cloud computing con Keepcoding, en donde aprenderás, de la mano de los mejores profesionales, estrategias para no solo adquirir conocimientos en el área, sino para triunfar en el mundo laboral rápidamente. ¡Únete a la mejor comunidad y escala hacia el éxito!