Query CGI

Online section / Guides / User Guide / Tools / CGI / Query CGI contact | download | sitemap

myarmquery.cgi

The myarmquery.cgi program can be used to query any recorded ARM transaction and/or application instance from a web-browser. The following "myarmquery.cgi: Overview" gives an overview of the query CGI. It is divided into the left side which provides forms to compose your queries to the MyARM system and the right side where the results of your queries are shown. It supports output of single transaction and application instances and also provides a statistical analysis for transaction or application instances matching the selected constraints.

myarmquery.cgi: Overview
Figure: myarmquery.cgi: Overview

Form frame

The from frame on the left side consists of different sub-frames. On the top a header shows buttons to navigate through definitions or to request free forms for application and transaction queries. Queries for ARM application and ARM transaction instances can be made in two different approaches:

  1. Definition based query forms which use the registered application and transaction definition from the data source.
  2. Free forms where any application and transaction name can be entered and used.
myarmquery.cgi: form header
Figure: myarmquery.cgi: form header

"myarmquery.cgi: form header" displays three different buttons. You can use the

Definitions
button for browsing through all registered application and transaction definitions
Applications
button for a free form to query application instances.
Transactions
button for a free form to query transaction measurements.

"myarmquery.cgi: identity form part" shows the part of the form that describes the current application and transaction. ARM applications and transactions have its own identity. This identity is mainly formed by their name and optional so-called identity properties. The CGI based query shows all these identity strings if the query form was generated by browsing through the ARM definitions. "myarmquery.cgi: identity display" depicts the identity display of the ARM'ed Apache web-server application:

myarmquery.cgi: identity form part
Figure: myarmquery.cgi: identity form part

The first line displays the application name and its optional identity properties. The second line displays the transaction name and identity properties. If the application has more than one transaction the user can select one transaction from a list of all possible transactions to submit queries for. Note: You have to press the select button to use the selected transaction in a query. The CGI has no real active part such as Java-Script since it is not really portable.

"myarmquery.cgi: constraints form part" shows the part of the form that enables you to choose attributes of the transactions you want to see. The list on the left side is used to select several fields of a transaction to display in the result (e.g. Name, ResponseTime, Status, etc).

myarmquery.cgi: constraints form part
Figure: myarmquery.cgi: constraints form part

On the right of the list there are input fields to specify your specific query constraints:

Time Format and Duration Unit selections

specifies the time and response time format to be used as in- and output formats. For example you can select a response time unit in seconds or in microseconds depending on the transaction average execution time.

Start From and Start Until input fields
matches only transactions which have started since and until the specified dates
Stop From and Stop Until input fields
matches only transactions which have stopped since and until the specified dates
Duration Min and Duration Max input fields
specifies the minimum and maximum response time of a transaction to match. All transactions which executed faster or slower are excluded in the result.
Status selection
specifies the status of a transaction to match. For example, GOOD or FAILED.
User selection
selects the user on behalf a transaction was executed (if any)
Show children checkbox
if marked also displays any children of matching transactions.
correlate incremental checkbox
if marked incremental correlation process is used (only new parent/child relation ships are searched) if the below correlation button is pressed otherwise a full correlation process is performed.

If you entered all constraints for your query you can press the Query button. This will load the result of the query into the right-frame.

The next form part allows you to limit, sort and execute your queries. When querying transaction measurements it is usual that matching transactions are more numerous than can be displayed within a browser. Therefore the CGI can be configured to display only parts of the result and offer the possibility to navigate through the result set.

myarmquery.cgi: result config form part with submit buttons
Figure: myarmquery.cgi: result config form part with submit buttons
Pages input field
Number of pages to provide direct access through the result navigation bar. See section below.
Max/Page input field
specifies the maximum number of matching transactions displayed at once (page).
Index input field
specifies the index into the result set.
Sorting selection
specifies if the result set should be sorted or not. Some sorting criteria are supported. For example stop time or duration time.
Descending checkbox
if checked the sorting is performed in a descending order instead of an ascending.

After all constraints are specified the real query can be submitted to the MyARM CGI. "myarmquery.cgi: result config form part with submit buttons" shows buttons of all different kinds of queries which the CGI supports:

Query button
submits the query to the CGI and each matching transaction measurement is displayed to the right-frame side as the result. See section below.
Statistic button
computes a statistic over the result transactions and displays it
Histogram button
generates a histogram of the result transactions and displays it
Correlate button
Executes the correlation function within underlying MyARM data store which correlates parent/child transactions. You can only show parent/child relationships using the Show children checkbox in the query form if you executed this function first. It computes internal links from parent to child transactions.

The correlation process operates also on the constraints specified in the constraints form part. This is quite useful if you operate on a large set of transaction measurements.

Result frame

"myarmquery.cgi: result frame" shows the result of a query for the HTTP Request transaction of application Apache HTTP Server.

myarmquery.cgi: result frame
Figure: myarmquery.cgi: result frame

In many cases there are more transactions than can be displayed on the screen. Therefore a navigation bar provides the functionality to browse through the result set:

myarmquery.cgi: result navigation bar
Figure: myarmquery.cgi: result navigation bar

In "myarmquery.cgi: result navigation bar" on the right you can see the total number of matched transaction. Since many transaction cannot be viewed at once, so-called pages are introduced to page between all transactions. A page shows the number of transactions specified into the Max/Page input field in the query form. You can navigate through the pages just by clicking on the page number or by selecting one of the arrow links.