ChangeLog of MyARM

Contents / Standard Edition / ChangeLog

Here is a brief description of changes from one release to another of MyARM:

Release 4.2.x.0 (May 2018)
New
  • Agent (Build 6639): Added Java and C# archive support
  • Agent (Build 6633): Removed Web-Edition and added FastCGI AddOn support to all Editions
  • Agent (Build 6629): Added Windows 10 support
  • C-Agent (Build 6609): Added C-Agent 32bit handler support
  • Daemon (Build 6608): Added support to launch any MyARM web application server from the myarmdaemon process
Changes
  • Agent (Build 6653): Updated included Zstandard library to version 1.3.4
  • Agent (Build 6652): Updated included SQLite3 to version 3.23.1
  • Agent (Build 6592): Dropped AIX and Solaris support
  • Agent (Build 6557): Dropped Oracle database support
  • Agent (Build 6532): Under Linux glibc 2.13.x or higher is required
  • C-Agent (Build 6605): Dropped Agent transaction dropped and clearance feature
  • C-Agent (Build 6561): Dropped myarmmodify command line tool support
  • C-Agent (Build 6561): Dropped ARM 2.0 support
  • Documentation (Build 6624): All documentation can now be found in the MyARM UsersGuide instead of several different guides

Release 4.1.x.0 (October 2017)
New
  • Agent (Build 6335): Added support to compress archive files using the Zstandard compression algorithm
  • Agent (Build 6159): Added agent.binding.api.metrics configuration property to be able to disable ARM metrics support at all
  • Agent (Build 5960): Added basic.usage configuration property to simplify MyARM configuration for different transaction loads (min, normal, high, max and user defined)
  • Agent-Handler (Build 5958): Added support for dropping raw transaction measurements after calculated RTS data
  • Daemon (Build 6199): Added support to launch MyARM web application server (myarmbrowser) from the myarmdaemon process
  • Daemon (Build 6107): Added TCP server ASCII protocol to report measured and archived transactions to a third-party application (here Apache Spark)
  • Daemon (Build 6074): Added archive backend used by the myarmdaemon to store measured transactions into binary files on the file system instead of using a database
  • Manager (Build 5961): Added command line option to pass a pre-defined configuration to the myarmmanager
  • Web-Browser (Build 5964): myarmbrowser file based archive enhancements:
    1. added support to search within the new file based archive from the myarmbrowser
    2. added saved incident support
    3. added view to browse transaction measurements which exceeded a defined threshold
Changes
  • Agent (Build 6397): Reduced the amount of disk space a transaction measurement needs alot. Prior 4.1.x.0 each transaction measurement needed at least 155 bytes starting with 4.1.x.0 a single measurement without any context information needs about 20-40 bytes.
  • C# Agent (Build 5750): C# agent now reports to the myarmdaemon whether if RTC configuration is enabled or not
  • C-Agent (Build 6005): Added support for specifying agent.transaction.waiting with tenth of millisecond precision
  • C-Agent (Build 5963): Correlator enhancements:
    1. added support for in process correlation generation to avoid heavy digest calculations
    2. removed some obsolete bytes from MyARM correlator
Fixes
  • Agent (Build 6202): Removed usage of gethostbyname() with gethostbyaddr() calls
  • Agent (Build 5748): Do not send RTC configuration from myarmdaemon to an agent if the agent does not support RTC configuration
  • Agent-Handler (Build 5965): RTS transaction count overflow for high transaction frequencies
  • C Agent (Build 5729): arm_unblock_transaction(): Sometimes blocked time was calculated wrong
  • C Agent (Build 5723): arm_generate_correlator(): now returns the normal (minimum length) MyARM correlator
  • Installation (Build 5949): Added mysql dependency to myarmdaemon.sh script
  • Tools (Build 5969): Now command line tools correctly selects a database by date if transaction database date pattern are used (MySQL/MariaDB)
  • Web-Browser (Build 5964): SpeedUp calculation enhancements:
    1. fixed SpeedUp calculation if no concurrency value was specified
    2. now uses number of different threads for concurrency value if no concurrency number was specified
    3. added SpeedUp equation figure

Release 4.0.x.0 (May 2015)
New
  • Agent (Build 5389): Added transaction monitoring support. Now its possible to monitor transactions in realtime according to their response time, status or context properties and generating runtime events.
  • Agent (Build 5305): Added support to send runtime configuration over TCP from myarmdaemon to any instrumented application using the TCP datasink.
  • Agent-Handler (Build 5238): Added passivation handler to disable transaction measurements of certain types at all.
  • C# Agent (Build 5343): Implemented file storage support within C# agent.
  • C# Agent (Build 5333): Implemented flow control within C# TCP datasink.
  • C# Agent (Build 5312): C# agent uses now agent.transaction.waiting configuration property to wait for a free transaction instance before dropping the measurement.
  • C++ Framework (Build 4952): Added ARM 4.1 class ArmTimestampOpaque to ARM 4.0/4.1 C++ framework
  • C++ Framework (Build 4880): Added ARM 4.1 class ArmCorrelatorUser to ARM 4.0/4.1 C++ framework
  • C++ Framework (Build 4872): Added ARM 4.1 class ArmMessageEventGroup to ARM 4.0/4.1 C++ framework
  • C-Agent (Build 4880): Added new MyARM user correlator format (101). With this new ARM correlator format the application can provide an unique correlator which can be derived from data already send between communication partners. Therefore the need to add an ARM correlator is avoided.
  • C-Agent (Build 4873): Added support for eventflow auto-response feature within C-Agent. This feature will generate an auto-response for one-way parent-child transaction measurements and will stop the parent measurement when the auto-reponse message is received. Therefore the need of synchronized clocks can be avoided.
  • C-Agent (Build 4871): Added support of ARM 4.1 arm_subbuffer_message_rcvd_event_t sub-buffer
  • C-Agent-Handler (Build 4955): Added Apache handler to extract system address from context properties and overwrite ARM system address. When this handler is enabled apache virtual hosts are stored within MyARM as real hosts.
  • Daemon (Build 5517): Added support for monitoring real time statistic thresholds and generating runtime events if pre-defined conditions are met.
  • Daemon (Build 5392): Generated runtime events are used to to notify an user or system administrator by spawning an external process and sending an email or SMS for example.
  • Tools (Build 5530): Added MyARM database versioning support within myarminitdb. Without any option it will print the current MyARM database version
  • Tools (Build 5483): Added support of ex- and import of MyARM specific data files.
  • Tools (Build 5296): Added myarmlog --delete option to support deleting of log-messages stored in database.
  • Web-Admin (Build 5431): Added runtime configuration and runtime event support within myarmadmin web application.
  • Web-Browser (Build 5459): Added transaction set support within myarmbrowser web application which allows the user to select different types of transactions to analyse at once.
Changes
  • Database (Build 5499): Updated SQLite database to version 3.8.8.3
  • Web-Browser (Build 5473): Moved manage entries of selection procedure and time intervals within myarmbrowser into preference dialog.

Release 3.1.x.0 (October 2014)
New
  • Agent (Build 5202): Added support for 64-bit PowerPC AIX 5.3 or higher environments
  • Agent (Build 5188): Added support for 64-bit Intel/Sparc Solaris 10 or higher environments
  • Agent (Build 5086): Added support for 32-bit ARM-based Linux environments
  • C++ Framework (Build 4986): Added ArmCorrelatorEnvironment class to support getting an ARM correlator from the ARM_CORRELATOR environment variable
  • Manager (Build 5149): Added WebKit-based native UI manager running under Linux and Windows
  • Web-Browser (Build 5155): Added scatter diagram for selected transactions
  • Web-Browser (Build 5074): Added diagram preference tab for specifying default dimension and options for printing and exporting
Changes
  • C++ Framework (Build 4987): Introduced arm4::util namespace to better distinguish between ARM 4.0 standard and helper classes
  • C++ Framework (Build 4985): Added checks for C++11 features and marked not allowed constructors and assignment operators with delete keyword
  • Database (Build 5007): LGPL MariaDB client library 2.0 used instead of MySQL client library
  • Web-Browser (Build 5069): Improved overview and sequence diagrams of tree view allowing to edit diagram title and manipulating the diagrams by icon buttons
  • Web-Browser (Build 5061): If no dropped transactions are found in the database within the selected time period dropped SideBar panel is automatically hidden
Fixes
  • Web-Browser (Build 5211): Sequence diagram threading symbol was not exactly rendered within the threading box
  • Web-Browser (Build 5211): Renaming a configuration wrongly reports config exists
  • Web-Browser (Build 5060): If response times are less than 1.0 (ms) background color according to sigma ranges were wrong
  • Web-Browser (Build 5047): SideBar layout error fixed
  • Web-Browser (Build 4989): Fixed some layout issues within Sequence-Chart
  • Web-Browser (Build 4988): Speedup-Chart displays transaction name on x-axis and y-axis response time values corrected if response times are between 1 and 10 seconds

Release 3.0.x.3 (April 2014)
New
  • Web-Browser (Build 4947): myarmrtsbrowser and myarmrtsmonitor now supports some URL parameter to start with initial parameters
Fixes
  • Daemon (Build 4903): RTS handling is now also supported within the myarmdaemon in file collection mode
  • Daemon (Build 4888): myarmdaemon now starts and stops again as a Windows service
  • Miscellaneous (Build 4974): Windows eventlog support works now again under Windows 7
  • Web-Browser (Build 4912): Response times are now formatted without trimming trailing zeros

Release 3.0.x.2 (March 2014)
New
  • Agent (Build 4853): Introduced agent.transaction.waiting property to specify number of milliseconds to wait within the application thread before dropping a finished transaction measurement to deliver the measurement to the MyARM backend threads. Default is 1ms.
Changes
  • C++ Framework (Build 4857): Renamed ArmTransactionCountDown::init() method to ArmTransactionCountDown::start()
Fixes
  • Agent (Build 4843): Introduced file locking within file datasink to check for ARM data files of dead applications avoiding access denied error messages
  • Agent (Build 4837): Improved C# tcp datasink connect procedure resulting in a faster established connection
  • C-Agent (Build 4859): Removed busy waiting in file storage thread during program termination
  • Tools (Build 4844): Sometimes under Windows myarminitdb --create did not create the MySQL databases correctly

Release 3.0.x.1 (March 2014)
New
  • C++ Framework (Build 4670): Added ArmTransactionCountDown, ArmTransactionCountDownOnce and ArmTransactionEventCounter support classes
  • RTS AddOn (Build 4798): Implemented RTS threshold units
  • Web-App (Build 4730): Added remember checkbox to user dialog to enable/disable setting a cookie to remeber the user name
  • Web-App (Build 4647): Added percentile support within myarmbrowser application.
Changes
  • Agent (Build 4826): Changed system id calculation on big-endianess systems
  • C++ Framework (Build 4646): Added locking support within C++ framework classes
  • C-Agent (Build 4775): Endless loop fixed if lock file access of filestorage component failed due to permission denied
  • RTS AddOn (Build 4798): Changed RTS SQL table to support history of thresholds
  • Release (Build 4716): Merged changed from 2.1.x.4 release
  • Release (Build 4628): Merged changed from 2.1.x.3 release
  • Release (Build 4609): Merged changed from 2.1.x.2 release
  • Tools (Build 4725): myarmimport memory leak fixed if ARM metrics were imported
  • Web-App (Build 4719): Changed configuration icons coloring within myarmbrowser to better differentiate between enabled and disabled icon buttons.
Fixes
  • QArm4 Framework (Build 4663): QArmSystemAddress produced under some circumstances a core
  • RTS AddOn (Build 4655): Under some circumstances wrong RTS data entries were recorded
  • Web-App (Build 4776): Fixed layout problems of myarmbrowser with IE11
  • Web-App (Build 4722): Calendar within myarmbrowser now uses UTC or localtime as selected in the preferences.

Release 3.0.x.0 (October 2013)
New
  • Agent (Build 4536): Added 32-bit agent support under Linux 64-bit. Now its possible to use mixed 32- and 64-bit applications with one MyARM installation.
  • Agent (Build 4490): Added command line tools (armsession, arminit, armtran, armstart, armstop, armend) for measuring shell scripts code under Linux.
  • Agent (Build 4348): Added support for stopping (clearing) long running transaction measurements. For each different transaction definition a maximum running period can be configured. If this period is reached the measurement will be stopped with the status CLEARED or completely discard
  • Release (Build 4556): Added Windows 64-bit support.
  • Release (Build 4455): Introduced new Add-on concept with 'selective runtime configuration' (SRTC) and 'real time statistics' (RTS) Add-ons.
  • Web-App (Build 4475): Added new web-application myarmrtsbrowser to monitor and browse real time statistics (RTS) of configured transaction measurements.
  • Web-App (Build 4475): Added new web-application myarmadmin to adminstrate runtime configuration including 'selective runtime config' (SRTC) and real time statistics (RTS) configuration of the complete MyARM infrastructure.
Changes
  • Agent (Build 4426): Removed trigger and route datasink since its superseded by the runtime configuration infrastructure.
  • Agent (Build 4379): Removed agent.binding.c.api.destroy_application config property.
  • Agent (Build 4341): Implemented file locking within C and Java agent for file logging.
  • Agent (Build 4336): C# and Java agent uses the agent.binding.api.return_ok config property to always return zero (success) within each API call.
  • Agents (Build 4268): Under Linux clock_gettime() is used for measuring response times resulting in nanosecond response time resolution.
  • Agents (Build 4236): Introduced new transaction status NOT_STOPPED. When the ARM agent terminates it stops any running transaction measurement with this new status.
  • Daemon (Build 4458): Added support for delayed autostart of MyARM daemon service under Windows.
  • Database (Build 4352): Moved logTable from MySQL transaction database to MySQL application database.
  • Installation (Build 4540): Configuration properties are now stored in on single main.conf file instead of many small files.
  • Web-App (Build 4326): Web-Browser Options menu replaced with appropriate icons.

Release 2.1.x.4 (February 2014)
Changes
  • C-Agent (Build 4708): Within arm_stop_transaction() or arm_report_transaction() a maximum time of 1ms is waited to push the transaction measurement into the queue of the serialize thread if the queue is full. After this time the transaction measurement is dropped.
  • C-Agent (Build 4696): Increased queue size of serialize thread to 90% for transaction pool size to minimize waiting conditions within application thread.
Fixes
  • C-Agent (Build 4698): Under high transaction loads it was possible that an application thread would block within arm_stop_transaction() or arm_report_transaction() for ever. A race condition was found and fixed.

Release 2.1.x.3 (November 2013)
New
  • C++ Framework (Build 4612): Added isARMEnabled() method within ArmInterface class to check if an ARM implementation could be found and activated or not.
  • Installation (Build 4621): install.sh script now asks for creating/changing symbolic link (e.g. /opt/myarm) which should point to the currently in use MyARM version.
  • Web-Browser (Build 4617): Added preferences support for enabling/disabling clock offset adjustments of different systems.
  • Web-Browser (Build 4614): Within the sequence chart of the myarmbrowser web application clock offsets between different systems (hosts) are shown in the legend.
Changes
  • Daemon (Build 4618): myarmtcpd.sh and myarmfiled.sh scripts now tries to use a symbolic link (e.g. /opt/myarm) to find the current MyARM installation if these scripts are located outside a MyARM installation (e.g. /etc/init.d/)
  • Web-Browser (Build 4618): myarmbrowser.fcgi script now tries to use a symbolic link (e.g. /opt/myarm) to find the current MyARM installation if the script is located outside a MyARM installation (e.g. /usr/bin/fcgi-bin/)
Fixes
  • C++ Framework (Build 4612): Some methods of ArmTransaction class did not check the start()/stop() state correctly.
  • Web-Browser (Build 4616): Within the SideBar statistics view of the myarmbrowser web application the sigma ranges showed only zero values if all measurements of the current view were less than 1.0.
  • Web-Browser (Build 4613): ARM user defined metrics are now highlighted with a light blue background color within the myarmbrowser web application.

Release 2.1.x.2 (November 2013)
Changes
  • Agent (Build 4436): Added support for integrating the agent part within an Unix system by providing separate environment variables for runtime data directory, library data directory and log directory (MYARM_VARRUN_DIR, MYARM_VARLIB_DIR and MYARM_VARLOG_DIR).
  • Tools (Build 4594): Improved myarmdelete performance for MySQL databases.
  • Web-Browser (Build 4605): Fixed sequence chart legend not displaying all used transaction names (if different applications use the same transaction name).
  • Web-Browser (Build 4604): Implemented algroithm to synchronize timestamps within a transaction tree if the clocks on different systems (hosts) differ. This helps drawing a corrected sequence diagram.
  • Web-Browser (Build 4572): Sequence diagram now supports overlapped measurements due to asynchronous workflow.
Fixes
  • Tools (Build 4569): myarminfo works now even if there is no valid license key

Release 2.1.x.1 (Augist 2013)
New
  • Web-App (Build 3923): Added support for a pre-defined user using a config property.
Changes
  • Agents (Build 4292): Added tcp.conf template configuration file to only configure the agent to use a TCP connection to the myarmtcpd.
  • Agents (Build 4289): Syslog facility can be configured using log.syslog.facility.
  • Agents (Build 4281): Syslog log level is also logged if log.show.level is set to true.
  • Database (Build 4124): SQLite database speedup with large amount of measurements
  • Web-App (Build 4404): SpeedUp diagram shows percentage speed up if no concurrency user defined attribute is found.
  • Web-App (Build 3917): Removed 'Please select' placeholder in some drop-down list selections.
  • Web-App (Build 3910): Status and error messages must be cleared by the user explicitly by clicking the clear button or hitting the 'Use' button again.
Fixes
  • Web-App (Build 3919): Treeview icon state is now updated correctly after configuration loading.
  • Web-App (Build 3912): Fixed bookmark loading of selections with more than one selected entities.
  • Web-App (Build 3910): Fixed crash if data source could not be opened.
  • Web-App (Build 3906): Fixed include time checkbox (it was not possible to uncheck the checkbox) in Bookmark dialog.
  • Web-App (Build 3905): Fixed wrong loading of transactions for a specific configuration if no transactions was found for that configuration.
  • Web-App (Build 3896): Fixed layout bug if tree view was changed in size and was later on hidden and shown again.
  • Web-App (Build 3887): Fixed loading of URI and context properties for a specific configuration.

Release 2.1.x.0 (January 2013)
New
  • Agent (Build 3598): Added support for droping transactions due to too short response time.
  • Agent (Build 3596): Added support for storing dropped transaction information into the database.
  • Agents (Build 3787): Added support for marking transactions asynchronous which is required to use the SpeedUp calculation within MyARM.
  • Agents (Build 3770): Added support for specifying concurrency in ARM metrics and ARM context values.
  • C Agent (Build 3769): Metric usage is now correctly stored in database.
  • C Agent (Build 3583): C agent uses now an own thread for logging log messages.
  • C# Agent (Build 3640): C# agent uses now an own thread for logging log messages.
  • C# Agent (Build 3529): Now log messages within the C# agent are compared for equality and a repeated n-times log message will be issued if more than 2 equal log messages were logged within a 5 second time interval.
  • Java Agent (Build 3792): Improved correlator generation within Java agent. Reduced length of correlator.
  • Web-App (Build 3676): Added myarmbrowser administrator user support.
  • Web-App (Build 3662): Disable multiple day selection if a MySQL database contains only transactions for one day.
  • Web-App (Build 3655): Improved sequence diagram layout engine.
  • Web-App (Build 3644): Added support for preloading URI information for easy selection.
  • Web-App (Build 3601): Added dropped transaction sidebar panel.
  • Web-App (Build 3599): One day and multiple day pre-defined date selection are now only presented if transactions are available for the appropriate date.
  • Web-App (Build 3573): Only dates with transaction measurement are selectable within the calendar popup dialog.
  • Web-App (Build 3566): Added context property filtering support.
  • Web-App (Build 3560): Added URI filtering support.
  • Web-App (Build 3557): Added Sidebar transaction distribution support (including coloring of appropriate table column).
  • Web-App (Build 3549): Added more 9 more approaches to select transactions and the possibility to enable/disable some approaches.
  • Web-App (Build 3547): Added HTTP-Auth remote user support.
  • Web-App (Build 3546): Added statistical transaction metrics.
  • Web-App (Build 3542): Added support for renaming a stored configuration.
  • Web-App (Build 3538): Added push button to set the current time rounded by the current time interval.
  • Web-App (Build 3532): Added min and max time interval configuration properties.
  • Web-App (Build 3530): Added number of elements for system, application and transaction instances in the "please select" entry of the appropriate dropbox.
Changes
  • Agent (Build 3590): Resource watch dog logs information about recorded, processed, read and saved entities.
  • Daemon (Build 3586): Replaced temporary file handling with file reader/writer concept of the myarmfiled.
  • Daemon (Build 3577): The myarmfiled only read in one ARM data buffer at a time thus it does not loose ARM data if the destination datasink is not available.
  • Database (Build 3693): MySQL databases are now created explicitly with UTF8 character encoding.
  • Datasink (Build 3617): Removed unused transaction database columns.
  • Datasink (Build 3609): Removed thread datasink and implemented multiple MySQL database connections within the MySQL datasink.
  • Web-App (Build 3763): Added URL bookmark support in myarmbrowser web interface.
  • Web-App (Build 3728): Added SpeedUp support in myarmbrowser web interface.
Fixes
  • Daemon (Build 3539): Added IP address and port of the remote connection to any log message within the myarmtcpd to help identifying a client failure.
  • Daemon (Build 3528): During termination of the myarmtcpd not all connections were closed correctly which could result in some error messages on the client side.
  • Tools (Build 3773): myarmquery did not process all transactions which have the same name but different IDs due to different identity context properties.
  • Web-App (Build 3637): myarmbrowser works now with SQLite3 database.
  • Web-App (Build 3562): All strings are read from database in UTF8 encoding.

Release 2.0.x.1 (August 2012)
New
  • Daemon (Build 3477): Added tcpd.flowcontrol.threshold configuration property to control the percentage of used ARM data buffers to enable flow control.
  • Web-App (Build 3444): Added context menu for choosing preferred time interval for single day selection mode.
  • Web-App (Build 3441): Added support for saving chart layout and tree filtering information into a configuration.
  • Web-App (Build 3436): Added tooltip with complete transaction name for transaction names which were cut due to its length.
  • Web-App (Build 3431): Added preference entries for transaction tree depth and %-filter.
  • Web-App (Build 3430): Added transaction limit of a tree.
  • Web-App (Build 3425): Added new background color for context properties.
Changes
  • Web-App (Build 3434): Added possibility to save a configuration without selecting an entity. This can be used for saving a filter only configuration.
Fixes
  • Daemon (Build 3456): Fixed wrong dead connection detection within myarmtcpd which caused sometimes to close a connection which was still active.
  • Datasink (Build 3478): Fixed idle connection closing of tcp datasink while an ARM data buffer acknowledgement is outstanding. After the connection was closed within such a situation a new connection was never established.
  • Datasink (Build 3472): Fixed crash within myarmtcpd if a tcp client connection was paused sending data in flow control mode and the stopped time interval was greater than the keepalive interval for the connection.
  • Datasink (Build 3466): Fixed missing state change within tcpsink if the myarmtcpd closed the connection.
  • Web-App (Build 3443): Fixed wrong selection criteria path if attribute filtering was active and no transactions were selected.
  • Web-App (Build 3440): Fixed UTF8 problem within configuration name loading.
  • Web-App (Build 3433): Fixed too short reported database operations.
  • Web-App (Build 3432): Fixed inconsistent preferences and layout information after an user change.
  • Web-App (Build 3429): Fixed crash if %-filter was used within tree view.
  • Web-App (Build 3427): Fixed busy loop within sequence response time chart if a sequence was shown with context properties and the next shown chart had no context properties.
  • Web-App (Build 3425): Fixed overwriting of legend background box.
  • Web-App (Build 3424): Fixed clearing of transaction details in tree view if no tree was shown.
  • Web-App (Build 3422): Fixed german weekday abbreviations.
  • Web-App (Build 3411): Fixed inconsistent percentage values of pie chart legend.

Release 2.0.x.0 (June 2012)
New
  • Bindings (Build 3284): Added support for binding a thread to a transaction measurement including a thread ID and a thread name.
  • Bindings (Build 3260): Added support for blocked times within a transaction measurement. Also supports ARM 4.1 block cause.
  • C++ Framework (Build 3391): Added ARM 4.0 C++ language binding which uses the ARM 4.0 C API to call a real ARM agent implementation.
  • C++ Framework (Build 3391): Replaces old QArm4 version 1 with new QArm4 ARM 4.0 C++ framework which is derived from the ARM 4.0 Java API and supports complete ARM 4.0 feature set. It is implemented by using the ARM 4.0 C API to call a real ARM agent implementation.
  • Example (Build 3415): Added QParallelMandelbrot example to demonstrate the calculation of the parallel Speedup indicator.
  • Web-App (Build 3410): Added web 2.0 interface myarmbrowser to analyse measured data from a standard web browser.
  • Web-App (Build 3313): Added support to analyse measured response times of parallel algorithms supporting calculation of the Speedup indicator.
Changes
  • Database (Build 3396): Updated SQLite database to version 3.7.12.1
  • Database (Build 3392): Optimized database layout which reduced the amount of stored data an increased the querying performance.
  • Database (Build 3377): Removed MySQL partitioning support.
  • Datasource (Build 3238): Improved correlation process of a single transaction tree alot.

Release 1.4.x.3 (April 2012)
Fixes
  • Datasink (Build 3207): Reconnect to mysql database works again. Due to an error in the reconnect handling of the mysql datasink the reconnect to the database was not initiated.

Release 1.4.x.2 (November 2011)
New
  • Agent (Build 3029): Added support for writing log messages of a defined (agent.log.datasink.level) log level (error) to the configured datasink (database).
  • Agent (Build 2770): The myarmtcpd and the TCP datasink now supports flow control of transmitted ARM data buffers. Only one ARM data buffer can be transmitted by a TCP datasink at one time. The myarmtcpd acknowledges the reception of an ARM data buffer by sending a flow control ack.
  • C Agent (Build 3063): Added agent.binding.c.api.return_ok configuration property to disable returning of error codes.
  • C# Agent (Build 2926): Now C# Agent uses also the concepts of a serialize- and sinkthread to optimize the processing of measured ARM data.
  • C# Agent (Build 2926): Added C# thread id for log messages.
  • C# Agent (Build 2909): Implemented resource watchdog.
  • Daemon (Build 3018): myarmtcpd now derives number of client threads form number of cpu cores. Removed myarmtcpd client thread configuration property.
  • Daemon (Build 3011): myarmtcpd now checks under Linux if the configured maximal number of clients are less than the number of open files for the process. It tries to increase the maximal number of open files if necessary. If the maximal number of open files could not be increased the myarmtcpd exists with an error message.
  • Daemon (Build 3005): myarmtcpd now detects dead clients by checking the keepalive messages. If more than two keepalive messages are missing the from a client myarmtcpd assumes this client is dead and closes the connection.
  • Datasink (Build 3098): Added support for collecting filesink ARM data files of applications which did not terminate correctly.
  • Datasink (Build 2860): Added support for MySQL commit interval configuration. Default interval is now 100ms.
  • Datasink (Build 2754): Added support for splitting ARM data buffers if the ARM data buffer send by the TCP datasink is greater than configured within the myarmtcpd.
  • Datasink (Build 2754): Added initial connection request from TCP datasink to myarmtcpd which reports its capabilities to the myarmtcpd.
  • Examples (Build 2941): Added some C# examples within directory $MYARM_ROOT/samples/csharp.
  • Installation (Build 3105): Windows 7 is now officially supported.
  • Tools (Build 2857): Added support for MySQL transaction isolation level for myarmquery tool.
Changes
  • Agent (Build 3019): Now dropped data log messages are classified as an error message instead of an informal message.
  • Agent (Build 2910): Improved queue handling and thread signalling within C# and C agents.
  • Agent (Build 2767): The queue size of the sinkthread is now initialized with the maximal number of ARM data buffers instead of a configured value.
  • Agent (Build 2750): Added support for entry length within an ARM data buffer which allows easy migration to new versions of MyARM.
  • C Agent (Build 3038): Removed Windows specific response time configuration. Now response times under Windows are also in microsecond granularity.
  • Contribution (Build 3041): mod_arm4 contribution is now includes as source code instead of a precompiled module binary. Use apxs of your apache installation to install the mod_arm4 module.
  • Daemon (Build 2762): The number of ARM data buffers within the myarmtcpd is no derived from the maximal number of TCP clients instead of a configured value.
  • Datasink (Build 2803): Changed reconnect behaviour of TCP datasink. Now it connects only to the myarmtcpd if ARM data is available. Also after a configured idle time (no ARM data available) the connection is closed again.
  • Datasink (Build 2750): The file datasink now only moves an file if it contains some ARM data. Therefore no empty files are moved and processed by the myarmfiled..
Fixes
  • Agent (Build 2995): Now all log messages are filtered through the log level configuration. Even such log messages which are issued before the configuration was read in.
  • Agent (Build 2925): Second part of day output of response times were wrong.
  • C Agent (Build 3021): Removed some helgrind threading hits within logging component.
  • C Agent (Build 2953): arm_destroy_application() did stop all application instances and not only for the passed application id.
  • C Agent (Build 2883): Possible memory leak within C Agent queue handling fixed.
  • C Agent (Build 2776): Sometimes a log message could be omitted if two threads issue a log message nearly at the same time.
  • C Agent (Build 2750): Fixed a possible crash if an ARM API call was made after an arm_destroy_application() call.
  • C Agent (Build 2750): Fixed length calculation of various ARM data entities for serialization into an ARM data buffer.
  • C# Agent (Build 3027): OUT_OF_RANGE error messages within C# Agent configuration reading used an incomplete property name.
  • C# Agent (Build 3026): In some circumstances ARM definition data was not directly written to the datasink.
  • C# Agent (Build 2926): C# ARM application instance handle could be overwritten by a second C# ARM application instance.
  • C# Agent (Build 2926): Removed disabled registry key under Windows. This did not worked properly and was not used at all.
  • C# Agent (Build 2875): C# log messages were not correctly synchronized between threads.
  • C# Agent (Build 2824): Corrected min/max checking of C# properties.
  • Contribution (Build 3052): Fixed wrong calling convention for libarm4sdk under Linux x86 32-bit architecture.
  • Daemon (Build 2825): Sometimes the myarmtcpd crashed if started twice with the same configuration.
  • Database (Build 3010): Removed 'DROP TRIGGER IF EXISTS' SQL statement for creating the MySQL database tables. This prevents a hanging myarmtcpd if all tables are already created and some other processes uses some MyARM tables.
  • Database (Build 2865): MySQL 5.5 is now supported by MyARM.
  • Datasink (Build 3025): Removed possible deadlock within tcpsink if sending an ARM data buffer failed.
  • Datasink (Build 3000): tcpsink now reconnects correctly if a connection attempt timed out.
  • Installation (Build 3092): Added MyARM manual page path to MANPATH under AIX.

Release 1.4.x.1 (April 2011)
New
  • Documentation (Build 2738): Added apache license to the distribution.
Changes
  • Java Agent (Build 2736): Optimized context property handling in JNI code, which saved about 8% of runtime.
Fixes
  • Database (Build 2727): Full correlation of transactions did not work properly. Sometimes this could caused a crash if used with SQLite database.
  • Documentation (Build 2737): Removed some obsolete configuration properties from the documentation of the myarmfiled.
  • Installation (Build 2726): Community Edition installer script for unix systems asked for a license key.
  • Installation (Build 2725): In the Community Edition the default configuration properties for some command line tools were missing.
  • Tools (Build 2728): myarminitdb --drop did not work with SQLite.

Release 1.4.x.0 (February 2011)
New
  • Database (Build 2606): Added days_per_month and month_per_year MySQL partitioning scheme.
  • Datasource (Build 2540): Now all ARM definitions are loaded initially from the database and managed internally within the current process. This improves navigation performance in the MyARM manager alot.
  • QArm4 Framework (Build 2661): Added QArmReportTran class to QArm4 framework.
Changes
  • Agent (Build 2583): Removed special evaluation edition.
  • C Agent (Build 2633): Added support for skipping unknown entities in an ARM data buffer supporting future enhancements.
  • Configuration (Build 2585): Restructured configuration files and directories. Now an include and a template directory exists which separates include config files and template config files.
  • Daemon (Build 2531): Change reconnect mechanism of TCP datasink. Now only one reconnect interval in seconds is used instead of a changing interval with factor 2 (tcp.connection.reconnect).
  • Daemon (Build 2525): Removed complete myarmdraind (shared memory) daemon and corresponding thin datasink. With the consistent usage of multi-threading and todays efficient I/O subsystems there is no need for supporting a shared memory transport layer.
  • Database (Build 2665): Updated SQLite database to version 3.7.4.
  • Database (Build 2606): Changed transaction database table layout to support better partitioning in MySQL.
  • Database (Build 2581): Removed environment ${USER} reference from MySQL database configuration. Now uses a generic myarm MySQL user.
  • Datasink (Build 2705): Now the start time instead of the stop time of a transaction is used for the MySQL transaction database pattern feature.
  • Datasink (Build 2688): SQLite datasink now uses a SQL transaction to store ARM data which increases the INSERT performance alot.
  • Datasource (Build 2537): ARM application and transaction definitions are now retrieved in its name order.
  • Documentation (Build 2610): Now the documentation for each edition contains only the included features.
  • QArm4 Framework (Build 2699): QArm4 now works under AIX (libarm4.a(shr.o)).
  • QArm4 Framework (Build 2673): Changed the way how to dynamically load the ARM 4.0 library within the QArm4 framework. Now QArm4 works under windows.
  • Tools (Build 2673): Added tools.query.appformat config property.
  • Tools (Build 2656): If an error occured under Windows in the MySQL datasource the tools aborted with an unhandled exception.
Fixes
  • C Agent (Build 2663): The C agent crashed if arm_report_transaction() was called after a call to arm_destroy_application() which is illegal but it must not crash.
  • C Agent (Build 2632): The serialization of an application instance was wrong due to a two byte miscalculation of the required length. This could caused an buffer overflow.
  • Datasink (Build 2621): The C# file datasink also copied an empty working file to the destination when the rolling time occured and no data was collected in the last period.
  • Datasink (Build 2620): The C file datasink copied an empty working file to the destination when the rolling time occured and no data was collected in the last period.
  • Datasink (Build 2620): Sometimes the C# file datasink rolled the current working file to late. Thus sometimes the rolled files were bigger than configured.
  • Java Agent (Build 2692): Java agent crashed if the configured maximum of ARM data buffers was reached and more buffers were requested.
  • Tools (Build 2631): myarmquery can now filter application instance according to their application group or instance.
  • Tools (Build 2589): Under some circumstances myarmquery reported same values for different application instances.
  • Tools (Build 2588): If connection to the MySQL database could not be established the error messages were not correctly reported.
  • Tools (Build 2570): Change documentation for constraint options --app-instance and --app-group. Now it supports operators like equal ('=', etc).
  • Tools (Build 2570): myarmtcpd now reports a protocol error as an error log message.
  • Tools (Build 2549): myarmquery with -a option the printed start and stop date of an application was wrong. Splitted date and time formatting specifier.

Release 1.3.x.6 (October 2010)
New
  • Datasink (Build 2474): The sinkthread module now writes a temporary ARM data file if the connection to the configured datasink is disconnected (tcp datasink). When the connection is established again it reads the temporary ARM data file again and sends all data to the datasink. Now the myarmfiled can be terminated even if the connection to a configured tcp datasink is disconnected. Read the documentation of the new basic.sink.thread.tmpfile.name and basic.sink.thread.tmpfile.size properties.
Changes
  • C Agent (Build 2468): If initialization of the MyARM C agent failed the timestamp, module and init level is now printed out.
  • C Agent (Build 2467): Under AIX MyARM uses now a myarm_ prefix for all APR functions thus it does not interfere with an APR implementation used by the instrumented application (Apache HTTP Server, for example).
  • C Agent (Build 2450): SQLite implementation uses now a myarm_ prefix thus it does not interfere with a SQLite implementation used by the instrumented application.
  • C# Agent (Build 2470): If initialization of the MyARM C# agent failed the timestamp is now printed out.
Fixes
  • C Agent (Build 2471): Sometimes the initialization of MyARM failed when using the file datasink, because the operating system used a previously used process id and the file datasink created a temporary file with the same process id which caused MyARM to fail. Now temporary files are created with the process id and a time stamp.
  • C Agent (Build 2463): Calling convention of functions within libarm4.so under Linux/i386 was wrong due to an error within the ARM4SDK arm4os.h. Recompilation of instrumented applications are needed if the GNU compiler was invoked with some options specifying a language standard (-std, -ansi)
  • C Agent (Build 2460): Fixed some valgrind hits within libarm4.so.
  • Daemon (Build 2501): During shutdown of the myarmtcpd it waits for incoming termination messages from the clients. This fixes possible data loss during shutdown of the myarmtcpd.
  • Daemon (Build 2489): The myarmfiled now locks the files it reads in.
  • Daemon (Build 2465): Resource watchdog now provides also metrics and armdata pool information with daemons.
  • Datasink (Build 2482): Under some circumstances writing the sinkthread tmpfile resulted in a "Bad file descriptor" message due to a too early close of the tmpfile.
  • Datasink (Build 2480): The mysql datasink did not reconnect to the MySQL server if it lost the connection.
  • Datasink (Build 2476): Fixed busy loop within tcp datasink if the sending of data was only paritially done or the myarmtcpd closed connection due to a protocol error.
  • Datasink (Build 2467): Fixed memory leak within SQLite datasink.
  • Datasink (Build 2464): SQLite datasink could issue a "disk I/O error" under AIX due to a fsync() of a directory which is not supported by AIX.
  • Miscellaneous (Build 2461): Windows eventlog now created with properties so that entries are overwritten on demand. Also the <component>.log.file.size property can be used to specify the size of the eventlog file.
  • Tools (Build 2452): Date and time values passed to the options like --start-from and similar had a daylight saving time one hour offset in months with active daylight saving time.

Release 1.3.x.5 (August 2010)
New
  • C Agent (Build 2398): Added resource watch dog counters of various ARM 4.0 C calls like arm_start_transaction() and arm_stop_transaction(). This enables to check if the instrumented application calls MyARM or not.
  • Documentation (Build 2423): Added the technical guides describing the overhead of a transaction measurement and a guide which explains how to optimize the MySQL backend.
Changes
  • Daemon (Build 2417): The protocol between daemons and the myarmservcmd tool is improved.
  • Datasink (Build 2425): Improved peformance of storing metrics into MySQL database.
  • Miscellaneous (Build 2427): Now using version 1.2 of the ARM 4.0 SDK.
Fixes
  • Agent (Build 2392): Consolidated the component log support (%C).
  • C Agent (Build 2425): The C agent metric processing was not standard compliant. If a metric slot was used twice the last metric was used instead of the first as stated in the standard.
  • C# Agent (Build 2444): Writing and reading of XML ARM data using the XML datasink did not write and read floating point metrics with the C# agent correctly due to different locale settings.
  • Daemon (Build 2443): If a pid file of a daemon like myarmtcpd was found during startup of the daemon, the daemon crashed afterwards.
  • Daemon (Build 2415): Sometimes the myarmtcpd did not accept a connection from a client due to an error. But the error was not logged.
  • Datasink (Build 2414): The C# TCP datasink did not read the keepalive configuration corretly and used its default.
  • Datasink (Build 2410): If a datasink has no connection to its destination (myarmtcpd, MySQL database) it dropped any measured ARM data. Now any datasink notifies the agent if the connection is down and will not process any data until the connection becomes available again.
  • Datasink (Build 2401): The file data sink copied the working file to often to the destination directory.
  • Datasink (Build 2386): The file datasink calculated the free disk space wrong due to a 32bit integer overflow.
  • Tools (Build 2395): myarmexport can export into a MySQL database again. The database tables were not correctly generated.
  • Tools (Build 2390): The --context of the myarmquery program was not documented.

Release 1.3.x.4 (May 2010)
New
  • Agent (Build 2322): C, Java and C# agents now supports a warning log level.
  • Agent (Build 2308): Added agent.transaction.pool.max, agent.metric.pool.max and basic.armdata.buffer.pool.max configuration properties. These configuration properties are hard limits for the appropriate resource.
  • Agent (Build 2308): Added resource watch dog which periodically logs used resources.
  • Agent (Build 2289): Added agent.api.log.error and agent.api.log.warning configuration properties which controls logging of ARM API errors and warnings.
  • Datasink (Build 2346): MySQL datasink now support MySQL 5.1 partitioning feature.
  • Datasink (Build 2320): MySQL datasink now support on the fly transaction database generation according to transaction attributes (timestamp).
  • Datasink (Build 2309): Turned MySQL autocommit off and commits explicitly every second. This improved transaction writing alot.
  • Manager (Build 2354): Selection of different transaction databases is now supported.
  • Manager (Build 2353): Transaction definitions can now be filtered by wildcard patterns.
Changes
  • Agent (Build 2291): Consolidated C, Java and C# ARM API return codes. Added documentation of ARM API return codes.
  • C Agent (Build 2311): If invalid data is passed via a sub-buffer an error return code is passed back.
  • Java Agent (Build 2291): Java-JNI ARM agent now uses C logging environment.
  • Manager (Build 2319): Manager MySQL database information now reflects new MyARM 1.3 MySQL database configuration.
Fixes
  • C Agent (Build 2299): Memory leak fixed when ARM metrics are used.
  • C# Agent (Build 2330): The file datasink of the C# agent could not read the <name>.rolling.size configuration property correctly. It used its default value of 128KB.
  • Configuration (Build 2288): Removed old MySQL database configuration property <name>.database.
  • Daemon (Build 2278): MyARM daemon started as a Windows service reacted on a normal quit signal. Now any signals are ignored if a daemon is started as a Windows service.
  • Datasource (Build 2329): MySQL datasource now escapes all definition names as MySQL requires it.
  • Manager (Build 2347): Improved loading of large ARM definition databases alot.
  • Manager (Build 2318): Manager uses now the basic.time.use_utc configuration property to determine if timestamps should be presented in local or UTC time.
  • Miscellaneous (Build 2277): Small change to the setup.sh script which avoids an error if $HOME is not set.
  • Tools (Build 2324): Command line tools now supports escaping a colon (':'). This is needed because a colon is the delimiter to separate application and transaction definition names.

Release 1.3.x.3 (April 2010)
New
  • Analysis (Build 2244): Added configuration property to switch between UTC and local time output of time stamps. Local time is the default now.
  • C# Agent (Build 2251): C# agent now has a TCP data sink purely written in C#.
  • Documentation (Build 2242): Added C agent error code documentation.
  • Documentation (Build 2241): Added Java factory class documentation.
  • Manager (Build 2222): Added Full screen mode.
  • Manager (Build 2212): Context property context menus are now merged for same context properties.
  • Manager (Build 2208): Loading of long transaction trees shows now a busy mouse pointer.
Fixes
  • C Agent (Build 2240): ARM 2.0 wrapper did not measure transactions.
  • C# Agent (Build 2253): Removed lock contention which influenced transaction measurement with C# agent if a slow data sink backends was used (database).
  • C# Agent (Build 2235): System address within C# agent was not correctly build.
  • C# Agent (Build 2232): File-Datasink of C# agent used the wrong configuration property for the directory to copy ARM data files to.
  • C# Agent (Build 2229): Exception within File-Datasink of C# agent was not catched.
  • Datasink (Build 2263): Removed memory leak within TCP datasink during a (re-)connection.
  • Datasink (Build 2258): Removed memory leak within file datasink when an ARM data file should be copied to the destination directory.
  • Manager (Build 2206): Loading of a large transaction trees with the Manager tooks too long.
  • Miscellaneous (Build 2266): Small change to the setup.sh script which avoids an error message under AIX.

Release 1.3.x.2 (January 2010)
New
  • Configuration (Build 2159): User defined configuration support added. The MyARM configuration can now be easily changed by using the user.conf file which contains any uses specific configuration property.
  • Datasink (Build 2183): filesink now uses configuration properties directly from the myarmfiled filed.directory and filed.basename configuration section.
  • Manager (Build 2141): Added highlighting of net duration of transactions within a tree if it is greater than a pre-configured percentage value. Color and percentage can be changed and saved in the preferences.
  • Manager (Build 2133): A reload sometimes crashed the manager.
  • Manager (Build 2130): Now graph and histogram attributes are saved within a defined filter.
  • Manager (Build 2125): Now sorting criteria are saved within a defined filter.
  • Manager (Build 2089): Added filter for application instance and application group within manager
  • Manager (Build 2075): Within tree view it is now possible to filter all transaction regarding their correlation characteristics (e.g is root, has children).
  • Manager (Build 2072): Table and tree view now supports Shift-Select of rows.
  • Manager (Build 2030): Added status tips for all manager menu items.
  • Miscellaneous (Build 2169): Correlation of transactions improved alot. Now uses a correlation generation count which does not need to update transaction rows within the database anymore.
  • Miscellaneous (Build 1982): Added VC++ import libraries for libmyarm.dll
  • Platform (Build 2171): AIX (32bit) is now fully supported.
  • Tools (Build 2048): Added application instance and group filter support for command line constraint options.
Changes
  • Datasink (Build 2186): SQLite updated to version 3.6.22.
  • Manager (Build 2127): Database is open directly after start of manager.
  • Manager (Build 2119): Transaction attribute column visibility and width settings format changed.
  • Manager (Build 2118): Application attribute now in own sub menu within attribute column context menu.
  • Manager (Build 2072): Table and tree view now differentiate between item in focus and edit context menu.
  • Manager (Build 2071): Context menu items for context properties and metrics are have now the "C:" or "M:" prefix.
  • Manager (Build 2051): Under Unix/X11 the manager now uses fontconfig, xrender and freetype libraries which enhances font rendering a lot.
  • Miscellaneous (Build 2188): Under Windows MyARM is now registered with the edition name. For example the community edition is registered as MyARM Community Edition
  • Miscellaneous (Build 2093): Least recently used cache for application, transaction and metric definitions as well as for system addresses and users implemented.
  • Platform (Build 2137): Under Unix like systems setup.sh now checks for /var/myarm correctly.
  • Tools (Build 2142): Removed PAGER environment variable support within command line tools.
Fixes
  • Datasink (Build 2166): Thread datasink inserted duplicate transaction instances due to some synchronisation problems.
  • Manager (Build 2171): The correlation process within the manager now disables all user input for the main window which caused a deadlock if database queries were generated from the user input.
  • Manager (Build 2164): If a tree or table view is opened and some transaction definitions are selected they will be loaded immediately.
  • Manager (Build 2114): For transaction definitions which have no default filter saved all currently visible filter widgets are hidden now.
  • Manager (Build 2113): Filter did not apply to graph, histogram and statistics view.
  • Manager (Build 2108): Graph view duration over start time with a time span more than a day was incorrectly rendered.
  • Manager (Build 2106): Graph view was not correctly redrawn if same attributes changed.
  • Manager (Build 2106): Legend of graph view was not drawn.
  • Manager (Build 2097): MySQL database preferences were sometimes to loaded correctly.
  • Manager (Build 2077): Focused item context menu was not every time correctly opened within tree view.
  • Manager (Build 2078): Within tree view the mouse adjusted column width were reset if a tree was expanded.
  • Manager (Build 2072): Opening the table view context menu was very slow if many transactions were displayed in the view.
  • Manager (Build 2042): If no filter was activ and a graph, histogram or statistics view was opened the manager crashed.
  • Tools (Build 2033): myarmdelete now only deletes definitions and instances according the given application and/or transaction name.
  • Tools (Build 2031): myarmexport now only exports all data for a given application name.

Release 1.3.x.1 (October 2009)
Fixes
  • C Agent (Build 1941): Diagnostic detail string was not copied and if the user provided string was free'd before it was serialized to the ARM data buffer garbage was collected. The diagnostic detail string is now copied before leaving the stop call.
  • Datasink (Build 1930): TCP datasink may loss ARM data if connections to myarmtcpd were opened and closed very fast. Added protocol acknowledgement of connecting and disconnecting to myarmtcpd.
  • Datasink (Build 1910): Added missing libmyarmpi.so for using C datasinks from C# with mono.
  • Datasource (Build 1893): Filtering of context properties with SQLite works now correctly. Not in all circumstances the temporary view was created.
  • Java Agent (Build 1945): Metric floats were not correctly calculated to pass via JNI to the C Agent using 32-bit integer counter and divisor.
  • Manager (Build 1937): Sometimes the selection views did not open due to a synchronisation failure between thread offloaded jobs and the main thread.

Release 1.3.x.0 (August 2009)
New
  • Agent (Build 1814): Added support for logging the component which produced a log message.
  • Agent (Build 1736): Actual version of MyARM is logged during startup.
  • C Agent (Build 1714): Introduced metric instance pooling.
  • C# Agent (Build 1738): Added configuration property to disable pinvoke based datasink.
  • C# Agent (Build 1738): Actual version of MyARM is logged during startup.
  • C# Agent (Build 1723): Added C# support for Linux using mono.
  • C# Agent (Build 1688): C# agent now support log message numbers.
  • Datasink (Build 1816): tcpsink supports now to defer a connection to the myarmtcpd only if needed.
  • Datasink (Build 1816): tcpsink supports to close the connection to the myarmtcpd if no data were sent within a configured time interval.
  • Datasink (Build 1761): filesink supports filesystem limit checks:
    • diskusage.max_used: defines the maximal used disk space by the filesink.
    • diskusaga.min_free: defines the minimal available disk space which will be considered by the filesink.
  • Datasink (Build 1702): Added new threadsink which can create configured number of threads operating on a destination datasink.
  • Examples (Build 1719): Added C++ example demonstrating detailed diagnostic ARM 4.0 feature.
  • Manager (Build 1873): URI attribute filtering allows to select an operation mode.
  • Manager (Build 1824): Added snapshot of main window dimension.
  • Manager (Build 1823): Added predefined (named and default) filters. All filter properties and display settings are saved.
  • Manager (Build 1800): Added new filtering concept. Now various filters are integrated within the selections:
    • transaction status
    • duration
    • context properties ad defined by the transaction definition.
    • URI property
    • system address and user
    • start and stop time (UTC)
  • Manager (Build 1799): Added support for querying multiple context properties with logical AND operation.
  • Manager (Build 1795): Added toolip support of transaction definitions showing transaction identity properties.
  • Manager (Build 1794): Added support for sorting and filtering of application and transaction definitions.
  • Manager (Build 1791): Added progress bar of definition loading within main manager window.
  • Manager (Build 1786): Added support to save the order and shown columns within tree and table view.
  • Manager (Build 1785): Added support to change the order of columns within tree and table view.
  • Manager (Build 1777): Added support for calculating the net duration (own duration) of a transaction witnin a tree.
  • Manager (Build 1777): Added support for highlighting the most time consuming transactions within a tree. (highlight max duration)
  • Manager (Build 1776): Added loading and saving of preferences. Following preferences can be set;
    • Response time unit
    • Date and time display format
    • Number of highlighted maximum durations within a tree.
    • Maximum number of transaction instances shown in the tree and table view.
    • Export directory, separator and header row preferences for CSV export.
    • Printing directory for file printing.
    • Various flags manipulating printing.
  • Manager (Build 1774): Added printing of selected transaction measurements within tree- and table view.
  • Manager (Build 1763): Added clipboard support of selected transaction measurements within tree- and table view.
  • Manager (Build 1731): Details of transaction metrics adds now metric unix.
  • Manager (Build 1731): Supports now context menu for selecting attribute columns for table and tree views of transaction measurements.
  • Tools (Build 1808): myarminfo now prints the used database configuration.
  • Tools (Build 1807): myarmexport supports now the --engine option.
  • python (Build 1690): ARM 4.0 python module is now integrated.
Changes
  • Agent (Build 1715): Streamlined internal thread handling for C and Java agent.
  • C Agent (Build 1714): Streamlined transaction instance pooling.
  • Database (Build 1809): The layout of the database has changed. Now it support three different kinds of databases:
    1. Definition database storing all ARM definitions.
    2. Application database storing all ARM application instances and context properties.
    3. Transaction database storing all ARM transaction instances, context properties and metrics.
  • Datasink (Build 1689): mysqlsink now does not use BLOBs anymore.
  • Datasink (Build 1685): Reconnection interval configuration properties of mysqlsink, tcpsink and thinsink are now handled with seconds precision instead of milliseconds.
  • Manager (Build 1812): Add views buttons are now below the definition view. Thus there is more space for displaying measurement analysis.
Fixes
  • Tools (Build 1807): If myarmdelete, myarmexport or myarmimport fails it now returns an error code of 1.
  • Tools (Build 1778): Fixed negative response time fraction output in some circumstances.
  • Tools (Build 1778): Fixed output of transaction duration in days.
  • Tools (Build 1749): Import of XML data was wrong if more than 100 transaction definitons were imported.

Release 1.2.x.6 (February 2009)
New
  • Tools (Build 1648): myarminitdb now supports to set storage engine for MySQL.
Fixes
  • C Agent (Build 1660): Removed race condition in ARM data structure handling within the C agent.
  • C# Agent (Build 1631): If an object of the ArmTransaction class of the C# Binding was used for more than once to measure a response time the times were accumulated. Now the timer used for measuring the response time is reset by each start of the transaction.
  • Datasink (Build 1640): C file data sink now checks write permissions for all resources it will write to.
  • Java Agent (Build 1644): Removed debug printf() call from ARM 4.0 JNI code.
  • Java Agent (Build 1637): Changed linking of filesink DLL so that this data sink works with the IBM JVM 1.5 J9 and the JNI ARM 4.0 bridge.
  • Java Agent (Build 1634): Java classes are now again compiled with Java 1.4 environment.
  • Manager (Build 1656): Now opens a dialog with an error message if it could not start correctly.
  • Manager (Build 1651): Do not require to enter a name for a selection anymore.

Release 1.2.x.5 (December 2008)
New
  • Agent (Build 1522): The C and Java Bindings now support to pass transaction context values during transaction stop call time. This feature is not ARM standard conform and therefore it has to be turned on using the configuration property "agent.extension.tran_context_at_stop".
  • Agent (Build 1494): Multiple data sink threads can now be configured for the C and Java ARM agent as well as for any ARM data processing server like, myarmfiled and myarmtcpd.
  • C Agent (Build 1561): Added Visual Studio import libraries for libarm4sdk.dll, libarm4null.dll and libarm4logger.dll.
  • C# Agent (Build 1567): The C# Binding now support to pass transaction context values during transaction stop call time. This feature is not ARM standard conform and therefore it has to be turned on using the configuration property "agent.extension.tran_context_at_stop".
  • C# Agent (Build 1534): C# binding now supports also log file generations.
  • Daemon (Build 1544): myarmtcpd has now a status command which gets current status information about TCP client threads and data sink threads and queues..
  • Daemon (Build 1542): myarmtcpd is now fully multi-threaded and supports TCP client threads. The number of TCP client threads can be configured using the property "tcpd.client.thread.number".
Fixes
  • Daemon (Build 1533): Servers like myarmtcpd or myarmfiled are now installed in the bin directory under the MyARM root directory. This resolves the restart of the computer problem under Windows if the servers are installed as a windows service.
  • Daemon (Build 1526): Removed unused agent servers myarmlogd and myarmconfd.
  • Manager (Build 1521): Correlation process can now be cancelled.
  • Manager (Build 1521): If started from the program menu under Windows it opened a unneccessary shell window. This window does not appear anymore.
  • Miscellaneous (Build 1537): If log file generation is turned on the active log file had a suffix of ".log.0". Now it is named again ".log". If it is closed it is moved to ".log.0".

Release 1.2.x.4 (October 2008)
New
  • Daemon (Build 1503): Maximal number of clients can now be configured for each TCP server socket.
  • Miscellaneous (Build 1506): The log facility for file logging can now be configured to support generations of log files and the size of each log file can be limited. Therefore MyARM components will never use more than the configured maximal size for logging.
Fixes
  • C# Agent (Build 1507): Changed C# windows registry environment reading to the following order:
    1. App.config
    2. Environment variable
    3. Windows registry entries
  • Datasink (Build 1506): The tcpsink did not reconnect correctly under Windows if the connection was reset. This is fixed now.

Release 1.2.x.3 (October 2008)
Fixes
  • Manager (Build 1488): Configuration property changes within version 1.2.x.2 introduced a bug which caused the MyARM manager to read its configuration not correctly. This is fixed now.
  • Tools (Build 1487): Windows registry environment reading added in 1.2.x.0 and later had higher priority than environment variables and command line options. Now the following order is implemented:
    1. Command line options
    2. Environment variable
    3. Windows registry entries

Release 1.2.x.2 (September 2008)
New
  • Agent (Build 1470): Introduced improved logging messages. Each log message has now its own number and ID. This information can be used to find the appropriate log message documentation, which will describe the situation in detail.
Fixes
  • C Agent (Build 1472): Within the C ARM agent internal processing of ARM data buffers which contained some ARM definition data (like ARM transaction or ARM application definitions) caused a memory leak. Now all ARM data buffers are handled correctly.
  • C# Agent (Build 1481): The C# ARM agent did not freed all instanciated ARM transactions during deployment. This caused a memory leak, which is now fixed.

Release 1.2.x.1 (August 2008)
New
  • C# Agent (Build 1445): Can now be disabled under Windows using Registry key Software\MyARM\Disabled.
  • Daemon (Build 1455): myarmfiled and myarmtcpd can now be started as a Windows service.
  • Miscellaneous (Build 1460): Under Windows MyARM now uses Registry keys instead of environment variables.
Fixes
  • Daemon (Build 1449): myarmfiled now deletes empty ARM data files.
  • Miscellaneous (Build 1449): Datasink and datasource plugins are now loaded through their global path names. No need to include the sink or source directory path into Path (Windows) or LD_LIBRARY_PATH (Linux, Solaris) anymore.

Release 1.2.x.0 (July 2008)
New
  • C# Agent (Build 1424): New ARM 4.0 C# Agent using ARM 4.0 C# Binding as defined by the Eclipse project.
  • Miscellaneous (Build 1394): Windows event log support.

Release 1.1.0.7 (July 2008)
Fixes
  • Daemon (Build 1353): myarmfiled daemon now blocks if it cannot write ARM data to its datasink until the datasink accepts new ARM data.
  • Datasink (Build 1365): file datasink now uses the process id to create MyARM ARM data files reducing file name collisions.

Release 1.1.0.6 (June 2008)
New
  • Agent (Build 1316): New configuration property "<name>.armdata.buffer.number" to specify the number of ARM data buffers to be queued within the agent and/or daemons.
  • Daemon (Build 1320): Introduced new file datasink and a new myarmfiled daemon.
  • Daemon (Build 1316): New configuration property "<daemon>.cmd.host" to specify the host/interface for socket listening for incoming command connections.
Fixes
  • Tools (Build 1323): Now system addresses can be exported/imported separately using myarmexport/myarmimport command.
  • Tools (Build 1323): Command line tools now uses UTC time for input and output.

Release 1.1.0.5 (May 2008)
Fixes
  • C Agent: arm_report_transaction() now process the transaction context sub-buffer. Therefore context properties are now stored correctly in the database.
  • C Agent: arm_report_transaction() now checks the stop time against ARM_USE_CURRENT_TIME and sets the current time if the ARM_USE_CURRENT_TIME value was passed.
  • Java Agent: Under certain circumstances the ARM4 JNI library sometimes crashed if libarm4 initialisation failed.
  • Java Agent: ArmTranReport.generateCorrelator() now correctly creates and returns a ArmCorrelator instance. Fixes a Null-Pointer exception.
  • Java Agent: ArmTranReport.report() methods without a stop time now correctly passes the ArmConstants.USE_CURRENT_TIME to the ARM C implementation.
  • Java Agent: The length of the correlator is now correctly set within the java ArmCorrelator class.
  • Manager: Now allows the correlation of a sinlge root transaction within the tree view. Within the context menu the correlation for the selected transaction can be triggered.
  • Manager: Dialog opens now quickly even with large databases. The calculation of the minimal and maximal start time and duration can be triggered using a button within the filter dialog.
  • Manager: Detailed dialog now respects the screen dimension and never uses negativ dialog position.
  • Tools: myarmdelete --all now supports also constraint options to select specific application and/or transaction instances to delete
  • Tools: myarmexport now correctly handles constraint options to select specific sets of transaction and/or application instances.

Release 1.1.0.4 (April 2008)
New
  • Datasink: Added SQLite database sink and source support.
  • Manager: Added Qt 4 based management GUI.
  • Release: MyARM supports now Windows/x86 and Solaris/x86.
Fixes
  • Database: Improved MyARM database layout to speed up the correlation process alot.
  • Miscellaneous: Many improvements to arm4 library, command line tools.
  • Tools: Consolidated MyARM command line tools. Including new tools: myarmstat, myarmchain and myarmdefinition

Release 1.0.5 (June 2006)
New
  • Contribution: Added pre-compiled mod_arm4 Apache HTTP Server module.
  • Documentation: Added HTML UserGuide.
Fixes
  • C Agent: Fixed bug in context value processing which caused sometimes a crash.

Release 1.0.4 (February 2006)
New
  • Release: Release of MyARM for Solaris
  • Tools: armtime tool checks the ARM_LIBRARY environment variable to load the ARM4 library specified by this variable.

Release 1.0.3 (December 2005)
Fixes
  • Tools: armtime had some problems with multi-threaded libarm4.so under linux with different threading environments. Now if possible it loads the MyARM non threaded ARM4 library.
  • Tools: myarmdelete --all option now works with gdbm backend.

Release 1.0.2 (November 2005)
New
  • Daemon: Added support for setting up the user id for all MyARM daemon processes allowing the superuser to become an other user. Recommended is creating and using a myarm user.
  • Miscellaneous: Added needed third-party shared libraries (stdc++, gdbm and qDecoder) in distribution.
  • Miscellaneous: Added missing factory method for creating an application data instance (new method ArmDataSource::createApplicationData()).
  • Tools: Added --all option to myarmdelete to delete all application and/or transaction instances including their properties and/or metrics.
  • Tools: Added -p and --property option to myarminfo program allowing to print out the value of the given property name.
  • Tools: Command line switches --depth, --no-metrics and --no-context added to myarmquery.
Fixes
  • C Agent: Stop time reported with arm_report_transaction() was stored wrong in the backends. Fixed.
  • C Agent: Cleanup of arm4 library works now with dynamic loading e.g. dlopen()/dlclose().
  • C Agent: MyARM arm4 library uses now no library version information.
  • C Agent: libarm4 does not crash anymore if HOME environment variable was not set.
  • Miscellaneous: Optimized retrieving of transactions in MySQL databases.
  • Miscellaneous: Unlimited retrieval of nested child-transactions are now supported.
  • Tools: Optimized myarmquery: Now only retrieves properties and/or metrics if requested in the command line tool.
  • Tools: In general now command line switches overwrites configuration values.

Release 1.0.1 (August 2005)
New
  • Documentation: Added javadoc for the ARM 4.0 Java interfaces.
  • Java Agent: Java MyARM JNI implementation is now integrated into the evaluation version.
  • Miscellaneous: Added ARM4 SDK sdk, null and logger shared libraries.
Fixes
  • Miscellaneous: ARM properties are now properly escaped for writing into MySQL database.

Release 1.0.0 (May 2005)
New
  • Release: Initial release of MyARM.