Application Response Measurement ( ARM ) es un estándar abierto publicado por Open Group para monitorear y diagnosticar cuellos de botella en el desempeño dentro de aplicaciones empresariales complejas que utilizan diseños poco acoplados o arquitecturas orientadas a servicios .
Estado | Publicado |
---|---|
Año iniciado | 1996 |
Ultima versión | 4.1 versión 1 2007 |
Organización | El grupo abierto |
Autores | Tivoli Software , Hewlett Packard , The Open Group |
Dominio | Integración de aplicaciones empresariales , interfaces de programación de aplicaciones |
Abreviatura | BRAZO |
Sitio web | colaboración |
Incluye una API para C y Java que permite que la información de tiempo asociada con cada paso en el procesamiento de una transacción se registre en un servidor remoto para su posterior análisis.
Historia
La versión 1 de ARM fue desarrollada conjuntamente por Tivoli Software y Hewlett Packard en 1996. La versión 2 fue desarrollada por una asociación industrial (el Grupo de Trabajo ARM) y estuvo disponible en diciembre de 1997 como un estándar abierto aprobado por Open Group . ARM 4.0 fue lanzado en 2003 y revisado en 2004.
A partir de 2007[actualizar], ARM 4.1 versión 1 es la última versión del estándar ARM.
Introducción
El diseño de aplicaciones actual tiende a ser más complejo y distribuido en redes. Esto conduce a nuevos desafíos en las herramientas de desarrollo y monitoreo actuales para proporcionar a los desarrolladores de aplicaciones, administradores de sistemas y aplicaciones la información que necesitan.
Dentro de las aplicaciones distribuidas, no es fácil estimar si la aplicación funciona bien. Los siguientes problemas ayudan en la evaluación de aplicaciones distribuidas:
- ¿Las transacciones comerciales están teniendo éxito y, de no ser así, cuál es la causa del fracaso?
- ¿Cuál es el tiempo de respuesta de una transacción?
- ¿Dónde están los cuellos de botella, qué subtransacción podría causar un cuello de botella?
- ¿Cuáles y cuántas transacciones se ejecutan en una aplicación?
- ¿Cómo ajustar una aplicación o su entorno para que funcione mejor?
ARM ayuda a responder estas preguntas. Es importante mencionar que los beneficios de ARM, tal como se definen aquí, son ahora solo un subconjunto del espacio de Gestión del rendimiento de las aplicaciones .
Acercarse
El enfoque principal de usar ARM es:
- Definir las transacciones comerciales y técnicas que sean de interés.
- Inserte llamadas en la aplicación a la interfaz ARM para medir estas transacciones definidas.
- Implemente la aplicación instrumentada en su entorno normal con un agente ARM instalado.
- La implementación de ARM utilizada ahora proporciona las medidas de transacción de interés.
Conceptos
ARM define los siguientes conceptos para proporcionar la funcionalidad descrita.
Aplicación ARM
Las aplicaciones distribuidas complejas suelen constar de muchas aplicaciones (procesos) individuales diferentes. Para poder comprender la relación entre todas las aplicaciones individuales, se introduce el concepto de una aplicación ARM con la versión 4.0 del estándar ARM. Cada transacción ARM se ejecuta exactamente dentro de una aplicación ARM.
Transacción ARM
Las transacciones son el concepto principal del estándar ARM y representan una única medida de desempeño. Una definición de transacción define el tipo (nombre) y los atributos adicionales de una transacción ARM. Una transacción se puede ejecutar (iniciar y detener) varias veces, lo que da como resultado múltiples mediciones. Cada medición tiene atributos básicos como el estado de finalización (bueno, fallido, abortado), marca de tiempo de inicio y parada, la duración resultante y la dirección del sistema (host) en el que se ejecutó. Además, se pueden asociar métricas especiales o propiedades de contexto con una medición de transacción.
Dirección del sistema ARM
Define de forma única un host por su nombre, dirección IP u otra información única.
Correlacionador ARM
Los correlacionadores ARM se utilizan para expresar una correlación entre dos transacciones ARM. Esta es una relación sincrónica también conocida como relación padre-hijo. Por lo general, una transacción principal desencadena una transacción secundaria y solo continúa su ejecución cuando la transacción secundaria ha finalizado. Usando correladores, es posible dividir una transacción compleja en varias transacciones secundarias anidadas, donde cada transacción secundaria puede tener sus propias transacciones secundarias. Esto da como resultado un árbol de transacciones en el que la transacción principal más alta es la raíz del árbol.
ARM 4.1 define relaciones asincrónicas para admitir arquitecturas impulsadas por el flujo de datos.
Métrica ARM
Las métricas ARM se pueden utilizar para obtener más información sobre la ejecución de una transacción. ARM define un conjunto de tipos de métricas para diferentes propósitos, como un contador, un indicador o simplemente un valor numérico.
Propiedades ARM
Las propiedades son un conjunto de las denominadas cadenas de pares nombre-valor que califica una transacción ARM o una aplicación ARM más allá de la definición básica de estas entidades y permite asociar información de contexto adicional a cada medición de transacción.
Usuario ARM
Define un nombre de un usuario en nombre de que se ejecutó una medición de transacción.
Aplicaciones instrumentadas ARM
Las siguientes aplicaciones ya están instrumentadas con llamadas ARM:
- Servidor HTTP Apache utilizando el módulo ARM 4.0 mod_arm4. [1] [2] Todas las solicitudes HTTP se miden mediante ARM.
- Mozilla Firefox usando la extensión ARM 4.0 XPCOM npARM. [3]
- Servidor de aplicaciones IBM WebSphere . [4] Varias solicitudes como URI , JSP y otras se miden usando ARM.
- Servidor HTTP de IBM. [5]
- Servidor de base de datos IBM DB2 . [6]
- SAS (software) es compatible con ARM 2.0 desde hace mucho tiempo. Con la versión 9.2 de su lanzamiento, también es compatible con ARM 4.0. [7]
- Baan 5 e Infor ERP Ln 6.1
- IBM Tivoli Access Manager
Referencias
- ^ "Módulo Apache ARM 4.0" . Httpd.apache.org . Consultado el 20 de mayo de 2012 .
- ^ "Para entornos productivos modificados Módulo Apache ARM 4.0" . Myarm.com. 2011-06-13 . Consultado el 20 de mayo de 2012 .
- ^ "Extensión npARM xpcom para Mozilla Firefox" . Myarm.com. 2011-11-26 . Consultado el 20 de mayo de 2012 .
- ^ "ERA transacciones ARM v6.1" . Publib.boulder.ibm.com. 2012-04-04 . Consultado el 20 de mayo de 2012 .
- ^ "Habilitación de ARM en el servidor HTTP" . Publib.boulder.ibm.com . Consultado el 20 de mayo de 2012 .
- ^ http://publib.boulder.ibm.com/infocenter/eserver/v1r2/topic/ewlminfo/eicaaarmdb2.html [ enlace muerto permanente ]
- ^ "Uso de la interfaz ARM SAS 9.2 con aplicaciones ARM existentes: Descripción general de la interfaz ARM SAS 9.2 con aplicaciones SAS existentes" . Support.sas.com. 2010-05-27 . Consultado el 20 de mayo de 2012 .
enlaces externos
- Sitio web oficial de Open Group ARM y SDK de código abierto
- Implementación de Open-ARM Open Source ARM4 Java
- MyARM Implementación de C / C ++, Java, CSharp .NET y Python totalmente compatible con ARM 4.0 y una edición comunitaria gratuita