En el contexto de la programación de computadoras , la instrumentación se refiere a la medida del rendimiento de un producto, para diagnosticar errores y escribir información de seguimiento . [1] La instrumentación puede ser de dos tipos: instrumentación fuente e instrumentación binaria.
Producción
En programación, instrumentación significa: [2]
- Creación de perfiles : medición de los comportamientos dinámicos del programa durante una ejecución de entrenamiento con una entrada representativa. Esto es útil para las propiedades de un programa que no se pueden analizar estáticamente con suficiente precisión, como el análisis de alias .
- Insertar temporizadores en funciones.
- Registro de eventos importantes como accidentes.
Limitaciones
La instrumentación está limitada por la cobertura de ejecución. Si el programa nunca llega a un punto de ejecución en particular, la instrumentación en ese punto no recopila datos. Por ejemplo, si se instrumenta una aplicación de procesador de texto, pero el usuario nunca activa la función de impresión, entonces la instrumentación no puede decir nada acerca de las rutinas que son utilizadas exclusivamente por la función de impresión.
Algunos tipos de instrumentación pueden causar un aumento dramático en el tiempo de ejecución. Esto puede limitar la aplicación de instrumentación a contextos de depuración.
Ver también
- Enganche : gama de técnicas utilizadas para alterar o aumentar el comportamiento de un sistema operativo, de aplicaciones o de otros componentes de software, ya sea interceptando llamadas a funciones o mensajes o eventos que se transmiten entre componentes de software.
- Simulador de conjunto de instrucciones : simulación de todas las instrucciones a nivel de código de máquina para proporcionar instrumentación
- Inteligencia en tiempo de ejecución : tecnologías, servicios administrados y prácticas para la recopilación, integración, análisis y presentación de niveles, patrones y prácticas de uso de aplicaciones.
- Análisis del rendimiento del software : técnicas para supervisar el rendimiento del código, incluida la instrumentación.
- Contador de rendimiento de hardware
- DTrace : un marco de seguimiento dinámico integral para solucionar problemas de kernel y aplicaciones en sistemas de producción en tiempo real, implementado en Solaris , macOS , FreeBSD y muchas otras plataformas y productos.
- Extensiones de administración de Java (JMX) : tecnología Java para administrar y monitorear aplicaciones, objetos del sistema, dispositivos (como impresoras) y redes orientadas a servicios
- Application Response Measurement : API de instrumentación estandarizada para C y Java
- Recopilación dinámica : una característica de algunos emuladores y máquinas virtuales en la que el sistema puede volver a compilar alguna parte de un programa durante la ejecución.
Referencias
- ^ Descripción general de la instrumentación del código fuente en el sitio web de IBM
- ^ "Código de comentarios, pruebas e instrumentación" . 3 de enero de 2011 . Consultado el 29 de enero de 2014 .
- Introducción a la instrumentación y el seguimiento: Microsoft Developer Network
- Herramientas para desarrolladores de Apple: introducción a los instrumentos
- SystemTap proporciona una infraestructura de software libre (GPL) para simplificar la recopilación de información sobre el sistema Linux en ejecución.
- cwrap Ajuste automático de funciones C y C ++ con instrumentación.