¿Por qué es importante la Instrumentación y el Seguimiento?

Publicada en Publicada en Diseño de Software

Compartelo con tus amigos!

En la industria, la instrumentación se entiende como los elementos que permiten medir, convertir, transmitir, controlar o registrar variables de un proceso para optimizar los recursos utilizados en éste y conocer la correcta aplicación de los equipos dentro de un proceso productivo.

En Visual Studio .NET, la instrumentación es una serie de métodos que permiten supervisar una aplicación en funcionamiento. Para ello podemos usar las clases System.Diagnostics.Trace, System.Diagnostics.Debug y System.Diagnostics.TraceSource para registrar información sobre errores y laejecución de la aplicación en registros, archivos de texto u otros dispositivos para su posterior análisis.

La instrumentación en puntos estratégicos dentro de la aplicación no solo permite conocer los posibles sucesos de error que pueden ocurrir en la aplicación, sino también supervisar su normal funcionamiento. No basta con incluir secciones de Try.. Catch en los bloques de código y mostrar mensajes de error al usuario de la aplicación cuando suceda algo inesperado, se debe colocar instrucciones de traza donde se detalle técnicamente el error producido, la linea de código donde ocurrió, la clase, el método y todas las variables que sean necesarias y que permitan identificar la causa del problema.

Por lo general, en las aplicaciones .NET se suele realizar la traza de la instrumentación haciendo uso de archivos de texto con extensión .log; es decir, se graba todos los sucesos claves de la aplicación en un archivo de texto para conocer su comportamiento, evaluarlo y tomar decisiones. Sin embargo, el uso de archivos de texto no es la única forma de registrar los sucesos de la aplicación. También se puede usar el registro de eventos de Windows para almacenar la traza de la aplicación.

Una de las razones mas importantes para aplicar instrumentación es detectar posibles errores y defectos. Incluso realizando todas las validaciones posibles existen sucesos que no podemos controlar como por ejemplo el poco espacio en el disco duro, la sobrecarga de la memoria RAM, etc. Por esta razón, el uso de instrumentación en una aplicación es fundamental a la hora de diagnosticar y dar solución rápidas.

Imagínese que el módulo de Empleados de un sistema de Recursos Humanos desarrollado en tecnología ASP.NET cuenta con una opción para adjuntar el Curriculum Vitae y guardarlo en el servidor de archivos de la empresa. Usted ha controlado cualquier posible excepción dentro de un bloque Try…Catch y ante cualquier excepción arrojará el mensaje “Error al adjuntar el Curriculum Vitae”. el usuario del sistema viene trabajado con normalidad pero después de un tiempo reporta que ya no puede cargar el documento. Si la aplicación no cuenta con una traza de sucesos ¿Cómo podrás identificar rápidamente el verdadero motivo por el cuál no se pudo cargar el Curriculum Vitae? incluso intentando replicar el error en un ambiente desarrollo funcione con normalidad. Por está razón, la instrumentación es importante a la hora de solucionar problemas.

Además de realizar la traza de las excepciones, también hace falta conocer las variables que influyen en el procesos que estamos controlando. Por ejemplo, en una aplicación ASP.NET tal vez sea necesario escribir en la traza el nombre del browser y su versión, en opciones que hacen descargas de archivos desde un servidor externo tal vez sea necesario escribir en la traza el nombre del archivo para corroborar si existe en el servidor, la autenticación del usuario suplantador, entre otros datos.

En conclusión, la instrumentación es indispensable en las aplicaciones y mucho más si son distribuidas porque permite conocer el desempeño de la aplicación para diagnosticar y tomar decisiones.

Compartelo con tus amigos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *