A selection of our current and past customers are briefly described here. We support small installations and measurement envíronments (Deutsche Flugsicherung GmbH) as well as mid-size (GRZ IT Center GmbH) up to large installations (IBM NGN Competence Center).

The section Screenshots presents the different analysis possibilities with the help of concrete usage examples.

The section Presentations provides slides and articles we contributed to some conferences.

  • Customers
  • Screenshots
  • Presentations
  • Current

    IBM NGN Competence Center

    IBM Logo

    The IBM NGN Competence Center develops Next Generation Network (NGN) software for access and operating of IP- and VoIP-networks of a notable national und international Internet Service Provider (ISP).

    MyARM (C/C++ Edition) is used within IBM NGN Competence Center for development and system test of essential server components of a big ISP access platform running under Linux and zLinux (around 20 Servers) to rate and verify non functional aspects (response times, load).

    During test deployment complete calling hierarchies are recorded for later analysis. Especially RADIUS-, SOAP-, TCP/IP-, UDP- and proprietary protocols up to 1000 requests per second and server are supported.

    Due to very good experience of analysing non functional runtime aspects during system test, we optimized our complete tool chain to operate smoothly with a rate of numerous 100 million single measurements per day. Even single use case analysis within a data set of numerous billion measurements can be executed.

    Past

    GRZ IT Center GmbH

    GRZ IT Center Logo

    GRZ IT Center uses MyARM for their complete financial service multi-tier software infrastructure to measure end-to-end response times. MyARM is used as a highly customisable and efficient ARM infrastructure addresses all technologies and programming languages used in the customer environment. GRZ IT Center uses the following ARM language bindings:

    C# .NET
    for their financial client software
    Java
    for their application server (WebSphere) and servlets which implement the main financial services.
    C/C++
    for middleware components like HTTP-Servers

    Between 2008 and 2015 GRZ IT Center uses MyARM in a heterogeneous Windows® and Linux® wide area network (WAN) of more than 5000 ARM-instrumented C# clients in bank branches all over Austria. Additionally, around 10 HTTP- and Java-based application servers are part of the monitored system. GRZ IT Center used the following ARM language bindings:

    Around 8-10 million response time measurements were processed and analysed per day, using the complete MyARM Enterprise tool chain.

    Deutsche Flugsicherung GmbH

    Deutsche Flugsicherung GmbH Logo

    Deutsche Flugsicherung GmbH (DFS) uses MyARM to improve the quality control technology of radar data processing. The DFS has instrumented the core functions of its operational radar data processing system PHOENIX to get an insight into the performance of the distributed processing chain.

    PHOENIX is the operational radar data processing system (RDPS) at all national and international airports in Germany, with more than 100 deployed air traffic controller working positions (CWP). Thus the system's performance is directly linked with the German air traffic management efficiency, which is of vital interest for the DFS.

    The ARM instrumentation of PHOENIX and resulting measurement data analysis provide a detailed insight view of the duration of the important processing steps of PHOENIX. Moreover, an overview could be generated of the whole processing chain starting from the point in time when a plot is received by the tracker until it is presented to the controller at the CWP.

    More details on this topic were presented at the CMG 2007 in a cooperation paper between DFS and MyARM explaining the above effects in more detail. Download the paper and slides from our presentation page.

    Screenshots

    The following screenshots presents the various MyARM analysis web applications. The MyARM browser is used to analyse single and measurement chains, the MyARM RTS browser presents an overview of the run time behaviour of instrumented applications as well as some screenshots of the native MyARM manager application.

    MyARM Browser overview

    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)
    (e)
    (f)
    (g)
    (h)

    This screenshot displays measurements of a Python CDDB example. Transactions are drawn as colored boxes, the invocation order is indicated by vertical position.

    1. Specification for the time period to be analyzed.
    2. Show measurement for a specific system.
    3. Restrict shown measurements to those with response times above threshold.
    4. Measurements according to filter criteria with coloured ARM status.
    5. A specific measurement has been selected (highlighted).
    6. Statistical information for ARM transaction CDDB-Query.
    7. Response time overview for a set of correlated measurements. Root transaction "HTTP" and several child transactions are displayed as rectangles with different background colours.
    8. Percentage distribution of response times per ARM transaction.
    myarmbrowser Screenshot
    (a)
    (1)
    (2)
    (3)
    (4)
    (5)
    (6)
    (b)
    (c)

    This is a screenshot displaying the calling hierarchy of a Python CDDB example in a sequence diagram.

    1. The sequence chart showing which application called which functionality within a complete distributed environment:
      1. The root measurement HTTP (also called transaction in the context of ARM) is drawn on the left side of the chart inside the httpd application box (myarm.info).
      2. It calls the CDDB-Request of the PyCDDB application.
      3. The PyCDDB application connects (DB-Connect) to the CDDB database.
      4. Fetches the discs (Fetch-Discs) ...
      5. ... and tracks (Fetch-Tracks).
      6. Finally, generate the output (Generate-Output).
    2. On the right side of the chart the box with light blue background shows all context properties of the root transaction (here HTTP).
    3. On the right side of the chart the box on the bottom shows a legend which displays each transaction name with its used color.
    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)

    This is a screenshot displaying the transaction tree in a tabular layout, indicating the calling hierarchy by the indentation level in the table rows.

    1. Specific measurement has been selected (and highlighted).
    2. Detailed information associated with the selected measurement.
    3. Transaction hierarchy with response time thresholds and a tree depth limited to 3 levels.
    4. Percentage distribution of response times per ARM application.
    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)

    This is a screenshot displaying the use of a filter acting on the URI (thus selecting measurements for CGI programs). In tree view below we have placed the mouse pointer above a coloured box. The associated transaction name and some measurement data are shown in a hover.

    1. Filter by dissecting an URI matching the pattern "/cgi-bin/py%".
    2. A reduced table with results is shown, notice the "/cgi-bin/" in the column labelled "Identification".
    3. Response time overview diagram with hover over DB-Connect.
    4. Detail information for DB-Connect after clicking on corresponding box (brown box in left diagram).
    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)
    (e)

    This is a screenshot displaying transaction statistics for those transactions with a response time above or equal to 25.0 ms (the unit default to ms but can be changed via preferences). Note that the diagram area at the bottom can be hidden in order to display larger results in the table.≈‚

    1. A threshold for the response time has been set (25ms).
    2. In the results table, the cells below "Identification" have been drawn with a color according to the application (see box with "Transaction distribution").
    3. In the results table, the cells below "RT" have been drawn with a color according to the sigma interval the measurement belongs to.
    4. Response times per application with associated colours. Used in the first column in the results table.
    5. Transaction statistics (over all transactions) with color coding for five intervals. Used in the next-to-last column. Four of the measurements are slower than the mean value.
    myarmbrowser Screenshot
    (a)
    (b)
    (c)

    This is a screenshot showing a large table with measurements. The widgets on the left and at the bottom have been hidden. Layout-specific information can be saved in the database for reuse.

    1. Response time distribution according to transaction. The colours in the pie chart are also used in the results table (below "Identification").
    2. All widgets at the left (configuration and filter menus) have been hidden so there is more space for the results table (the Identification column can be quite large).
    3. The widgets at the bottom (the diagrams) have been hidden.
    myarmbrowser Screenshot

    This is a screenshot showing how almost the whole display are be used for showing the measurement table. All other widgets have been hidden.

    MyARM Browser details

    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)
    (d)
    (d)
    (e)

    The screenshot displays measurements of a Python CDDB example:

    1. In the upper part some CDDB HTTP requests are shown with their start date and time, total response time and execution status (GOOD) executed on myarm.info.
    2. In the lower part there is an overview of the response time distribution of the selected (grey) row from (a) shown.
    3. The root measurement HTTP also (called transaction in the context of ARM) is drawn on the bottom of the diagram.
    4. Any child transaction CDDB-Request of HTTP is drawn on top of it. Therefore a tree of transactions are shown with the leafs, here the Fetch-Tracks on the top.
    5. On the top of the diagram the so-called response time overlay is shown. This overlay depicts the response time distribution at a glance.
    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)

    The screenshot displays measurements of a Python CDDB example:

    1. In the upper part some CDDB HTTP requests are shown with their start date and time, total response time and execution status (GOOD) executed on myarm.info.
    2. In the lower part there is an overview of the response time distribution of the selected (grey) row from (a) shown. Also a grid (only with vertical lines) is rendered within the response time distribution diagram with a distance of 10ms.
    3. The user selected with the mouse the first Fetch-Tracks measurement (ARM Transaction). The legend shows the start time relative to the root measurement (HTTP), the response time and status of the transaction. The details of the selected transaction is shown in (d).
    4. The Details-Tab on the right side displays any details of the selected Fetch-Tracks transaction. The light blue highlighted attributes are user defined context values.
    myarmbrowser Screenshot
    (a)
    (b)
    (d)
    (d)
    (d)
    (d)
    (c)

    The screenshot displays measurements of a Python CDDB example:

    1. In the upper part some CDDB HTTP requests are shown with their start date and time, total response time and execution status (GOOD) executed on myarm.info.
    2. In the lower part there is an overview of the response time distribution of the selected (grey) row from (a) shown.
    3. On the right a pie chart shows the overall response time distribution of the HTTPtransaction tree. The red pie part represents the sum of response times of the Fetch-Tracks measurements shown in (d).
    4. The individual Fetch-Tracks response time measurements.
    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)
    (1)
    (2)
    (3)
    (4)
    (5)
    (e)

    The screenshot displays measurements of a Python CDDB example. The sequence diagram shows a complete calling sequence starting with a request in the HTTP server and ending in several requests for fetching track information for CDs

    1. We want to analyze transactions of the type HTTP.
    2. The context property named "QueryString" shall contain a value starting with the string "artist".
    3. A slow HTTP transaction with a response time greater than two time the mean value (see "Transaction statistics").
    4. A custom sequence diagram for the measurement selected in the results table, all transactions are on ARM system myarm.info.
      1. Time axis starting at 0ms, same height as start of HTTP transaction drawn as lilac box. Transaction runs in application httpd.
      2. After about 40ms, the child transaction CDDB-Query starts in the application PyCDDB.
      3. The transactions DB-Connect and Fetch-Discs are started sequentially.
      4. Finally, several tracks are fetched as identified by the transaction Fetch-Tracks.
      5. The root transaction finishes after 261ms.
    5. Displaying the context properties of the root transaction.
    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)

    The screenshot displays measurements of a Python CDDB example. The screenshot shows that detailed information can be displayed for any box in the sequence diagram.

    1. The drop down box shows us that there are 3881 measurements for the transaction HTTP in the database (in the selected time-frame).
    2. Six measurements match our "Context properties" filter.
    3. All diagrams show hovers with additional information pertaining to the element under the mouse pointer.
    4. Details are shown for transactions when clicking on their corresponding boxes in the diagram (DB-Connect in our example).
    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)
    (d)
    (e)

    The screenshot displays measurements of a Python CDDB example. The user has chosen to first select a ARM system and then the application.

    1. Measurements shall be filtered first by System and then by Application.
    2. 8218 measurements are in the database for the selected system myarm.info.
    3. 8072 of the measurements are in the database for the application httpd (out of 8218 previously selected measurements).
    4. Two of the shown measurements have the status FAILED.
    5. One measurement has status ABORTED.
    myarmbrowser Screenshot
    (a)
    (b)
    (c)
    (d)
    (e)

    The screenshot displays measurements of a Python CDDB example. The user had first selected a system and then the HTTP application. By setting an appropriate transaction attribute filter, only FAILED transactions are shown in the result table.

    1. Measurements shall be filtered first by System and then by Application.
    2. 8218 measurements are in the database for the selected system myarm.info.
    3. 8072 of the measurements are in the database for the application httpd (out of 8218 previously selected measurements).
    4. Using Transaction attribute filters: Show transactions with status equal to "FAILED".
    5. All transactions shown in the results table now have status "FAILED".

    MyARM RTS Browser

    myarmrtsbrowser Screenshot
    (a)
    (b)
    (c)
    (d)

    The screenshot displays an overview of real time statistics for the year 2013 of transaction measurements of a web-site:

    1. RTS-Browser time period to aggregate statistics for
    2. Coloring controls to adjust cell colors
    3. Group names used for grouping transaction statistica
    4. Transaction statistics with average response times and indicating cell color
    myarmrtsbrowser Screenshot
    (a)
    (b)
    (c)
    (d)

    The screenshot displays an overview of real time statistics from december 2012 until november 2013 grouped by month of transaction measurements of a web-site:

    1. The transaction names to present statistics for
    2. The response time average for each month and transaction
    3. Time navigation buttons to browse one month into the future or into the past
    4. Buttons to drill down into the appropriate month
    myarmrtsbrowser Screenshot
    (a)
    (b)
    (c)

    The screenshot displays a days overview of real time statistics from of april 2013 of transaction measurements of a web-site:

    1. Days are grouped into five working day and two days weekend by adding some margin between these days.
    2. Days with no data are rendered in darker gray
    3. On April 30th the no disc entries are fetched and the DB-Connect are rendered red, maybe there is a problem with the database?
    myarmrtsbrowser Screenshot
    (a)
    (b)
    (c)

    The screenshot displays a hours overview of real time statistics from of 5th april 2013 of transaction measurements of a web-site:

    1. Within this day nobody queried for REM
    2. Within the night no measurements were recorded
    3. DB-Connect transaction seems to have some problems

    MyARM Manager

    myarmmanager browser tab screenshot
    (a)
    (b)

    The manager with Browser tab opened showing measurements of HTTP transactions of an Apache web server:

    1. Grayed tab-buttons are opened, none grayed tab-buttons can be clicked to launch the appropriate web-application (here RTSMonitor).
    2. Here the browser tab is shown.
    myarmmanager RTS browser tab screenshot

    The manager with RTSBrowser tab opened showing aggregated statistics of selected measurements of the year 2014 of a web-site.

    myarmmanager screenshot

    The manager with RTSMonitor tab opened showing aggregated statistics of 'todays' last 24 hours of a web-site

    myarmmanager screenshot

    The manager with Admin tab opened showing the configured RTS configuration and some error log messages of a web-site

    Parallel 2012

    Parallel 2012 Presentation

    At the Parallel 2012 conference in Karlsruhe, Germany we presented our report on how to measure and visualise parallelism in multi-threaded applications running on multi-core hardware (in german).

    Parallel 2012 MyARM presentation   PDF
    View the slides of the Parallel 2012 MyARM presentation:

    QualityConf 2011

    QualityConf 2011 Presentation

    At the QualityConf 2011 conference in Munich, Germany we presented our method report about the evolution from performance tests to productive application monitoring (in german). Here you will find the presentation slides:

    QualityConf 2011 MyARM presentation   PDF
    View the slides of the QualityConf 2011 MyARM presentation:

    CMG 2007

    CMG2007 Presentation

    At the CMG 2007 in San Diego, CA we presented our customer success story of Deutsche Flugsicherung GmbH (german air traffic control, project Phoenix). Here you will find the paper and the presentation slides:

    CMG 2007 MyARM Phoenix ARM instrumentation presentation   PDF
    View the slides of the CMG 2007 MyARM presentation:
    CMG2007 Paper
    CMG2007 MyARM Phoenix ARM instrumentation paper   PDF
    Read the CMG 2007 ARM instrumentation paper: