About MyARM
MyARM is an Application Response Measurement (ARM) 4.0 compliant agent. MyARM is derived from the work of tang-IT ARM agent. As a member of The Open Group the main developers of tang-IT ARM and therefore of MyARM worked actively on the ARM 4.0 standard within the ARM working group. A deep inside knowledge of how ARM 4.0 works influenced the design and implementation of MyARM and its components.
Features
- Language bindings
- ARM 4.0 (ARM 4.1) for C
- ARM 4.0 (ARM 4.1) for Java
- ARM 4.0 (ARM 4.1) for C#
- ARM 4.0 for Python (using ARM 4.0 C binding)
- Language frameworks
- ARM 4.0 (ARM 4.1) for C++ (using ARM 4.0 C binding)
- QArm4 ARM 4.0 (ARM 4.1) for C++/Qt4 (using ARM 4.0 C binding)
- ARM 4.0 shell script commands (using ARM 4.0 C binding)
- Response time measurement
- Parent/child transaction response time correlation using ARM correlator concept
- Possibility to associate context information (properties, metrics) to a transaction response time measurement
- Possibility to bind a thread (id and name) to a transaction response time measurement
- Transaction status (good, failed, etc.)
- Measure time spent waiting for some resource to be available (waiting for a response or printer ready)
- Associate an user with a transaction response time
- Inherit parent user identity by using the parent correlator within the child transaction measurement
- Automatic stopping of root transaction response time measurements for ARM 4.1 event flows using UDP messages (MyARM 4.0)
- Discard transaction measurements if response time is less than a configured threshold
- Discard or stop (clear) transaction measurements if response time is greater than a configured threshold
- Management
- Ability to enable/disable response time measurements from a central administration console
- Execute user-defined actions (e.g. send notifications, starting a new server to reduce load on existing servers, etc) upon exceeding response time thresholds
- Ability to monitor any response time measurement regarding its execution status (GOOD, FAILED, etc)
- Analysis
- Statistical transaction response time metrics such as mean, median and deviation
- Visualization of transaction chains and trees
- Calculation of response time distribution within a transaction tree regarding application or host
- Speedup calculation of parallel or distributed algorithms
- Transaction response time histograms
- Real time statistics calculation and presentation
Editions
MyARM is released in Versions as well as in Editions. All editions are based on the same source and therefore carry the same version number. New versions are released as new features and enhancements are available in MyARM. This document refers to version 4.2.6673.0of MyARM.
This brief overview summarizes different Editions and its features:
- MyARM Community Edition
- Free to use fully compliant ARM 4.0 agent including bindings for C/C++, Java, C# and Python. Manager graphical user interface (UI) and a standalone HTTP-Server providing a modern web user interface (UI). All measured data is stored using SQLite database as backend.
- MyARM C/C++ Edition
- Provides the ARM 4.0 (ARM 4.1) language binding for the C programming language. A C++ framework which uses the ARM 4.0 C language binding provides an easy to use object-oriented API. Beside the manager GUI and the web UI, command line tools are provided for batch processing of measured data stored in a supported (SQLite or MySQL) database.
- MyARM Java Edition
- Provides the ARM 4.0 (ARM 4.1) language binding for the Java programming language. For analysing measured data the manager GUI and the web UI and command line tools are provided. Any measured data is stored in a supported (SQLite or MySQL) database.
- MyARM C# Edition
- Provides the ARM 4.0 (ARM 4.1) language binding for the C# programming language. For analysing measured data the manager GUI and the web UI and command line tools are provided. Any measured data is stored in a supported (SQLite or MySQL) database.
- MyARM Standard Edition
- Combines the C/C++ and Java Edition by providing the ARM 4.0 (ARM 4.1) language binding for the C/C++ and Java programming languages in a single edition. For analysing measured data the manager GUI, the web UI and command line tools are provided. Any measured data is stored in a supported (SQLite or MySQL) database.
- MyARM Enterprise Edition
- Combines all three ARM 4.0 (ARM 4.1) language binding editions (C/C++, Java and C#) in one single edition. For analysing measured data the manager GUI, the web UI and command line tools are provided. Any measured data is stored in a supported (SQLite or MySQL) database. For high loads multiple database connections are used to write measured data into the atabase.
Add-ons
The functionality for each MyARM Edition (except MyARM Community Edition) can be extended by so-called Add-ons. An Add-on is a special feature which is additional licensed and enhances the functionality of the MyARM agent. The following Add-ons exists currently:
- Real time statistics (RTS)
-
Real time statistics are used to monitor executed transactions within a production environment to get in overall picture of the performance and health of the whole system including end-to-end response times. For detailed information please read section Real time statistics.
- Runtime configuration (RTC)
-
Transaction runtime configuration is used to manage and control instrumented applications remotely. For detailed information please read section Transaction runtime configuration.
- Runtime notification (RTN)
-
Runtime notifications are used to notify conditions of the running applications by executing a script based on transaction or RTS conditions. For detailed information please read section Runtime notification.
- Multiple database connections (MDB)
-
The MySQL/MariaDB database data sink supports to open multiple connections to a server. For detailed information please read section MySQL database.
- FastCGI web applications (FCGI)
-
The MyARM web applications can be integrated into an existing web server infrastructure which supports the FastCGI protocol. For detailed information please read section FastCGI integration.
History
Here is a short overview of the MyARM development history.
- October 2017
- Release of MyARM 4.1 introducing a new concept of an archive of MyARM binary files including compression with Zstandard compression algorithm to support high volumes of transaction measurements up to billions of transactions per day for particular customers.
- May 2015
- Official release of MyARM 4.0 supporting disabling measurements from a central administration console, execution of actions (e.g. sending notifications) due to predefined response time conditions (e.g. response time mean is greater than 400 milliseconds).
- October 2014
- Official release of MyARM 3.1 with 64bit support for AIX and Solaris. Also Linux on ARM processors (32bit) is now supported.
- March 2014
- Official release of MyARM 3.0 including real time statistics Add-on.
- October 2013
- Release of version 3.0 of MyARM including real time statistics Add-on for particular customers.
- January 2013
- Release of version 2.1 of MyARM including new editions for single ARM 4.0 language bindings for C/C++, Java and C#.
- June 2012
- Release of version 2.0 of MyARM including web 2.0 analysis interface.
- February 2011
- Release of Version 1.4 of MyARM including support for Oracle database.
- January 2010
- Release of Version 1.3 of MyARM including support for C# and Python ARM 4.0 binding and AIX platform support.
- April 2008
- Release of Version 1.1 of MyARM including the Qt4 based Manager and Windows version.
- May 2005
- First release of MyARM.