Viewing usage statistics of virtual services in DevOps Test Virtualization Control Panel

Test Virtualization Control Panel collects and stores usage metric data. The metric data might include the number and types of actions that are used, the features that are used in the workbench, details about Operating System or languages set while running, and so forth. You cannot view the metric data on the Test Virtualization Control Panel user interface, but it is available from the underlying implementation. Storage is either managed by H2 or optionally Apache Cassandra.

About this task

Most of the sections are for Test Virtualization Control Panel system administrators except for section B. Usage, which is for Test Virtualization Control Panel users.

Procedure

A. Server Configuration
  1. By default the metric data is stored in an H2 database in the Test Virtualization Control Panel workspace. The H2 database does not scale to long-term usage. To enable long-term storage of metric data, you can edit the server configuration file of Test Virtualization Control Panel to use a Cassandra database. For more information about downloading, installing, and setting up a Cassandra database, see Apache Cassandra.
    1. Go to the Test Virtualization Control Panel installation folder and locate the server configuration file. Typically on Windows systems, the file is in server_installation_directory\config and on non Windows systems, in server_installation_directory/config.
    2. Open server.custom.xml in a text editor.
    3. Edit that file to configure Test Virtualization Control Panel with the details that are needed to communicate with a Cassandra database.

      For more information about a Cassandra database, see Apache Cassandra.

  2. To change the interval in which metric data is reported, edit the Test Virtualization Control Panel server configuration file.
    1. Go to the Test Virtualization Control Panel installation folder and locate the server configuration file. Typically, on Windows systems, the file is in server_installation_directory\config and on non Windows systems, in server_installation_directory/config
    2. Open server.custom.xml in a text editor.
    3. Edit the file and add the following code.
      <!--Metric clients report every 300 seconds (by default). Metrics can be gathered more regularly if higher precision is required, but this will increase the storage and network bandwidth used-->
      <jndiEntry jndiName="metric/report_interval" value="300"/>
      
B. Usage
  1. Open the Usage page in Test Virtualization Control Panel to see usage metrics for stubs. For more information, see Navigating the user interface.
    The metric data that is reported is as follows:
    • The number of calls that are received by a stub. These calls are requests, messages, or other calls that are received by the stub.
    • The number of calls that the stub virtualized. That is, the received calls that had their behavior changed, for example where the stub provided a response, or delayed response from the live system by the configured amount, or simulated an error response.

    Metric data is reported every 5 minutes or when the last stub shuts down.

  2. To see usage metrics for stubs, do one of the following tasks:
    Note: When domain-level security is enabled, the Usage page is only visible to users with the Test Virtualization Control Panel system administrator role. When LDAP or Active Directory is in use, the system administrator role is assigned to user groups by the user who installs Test Virtualization Control Panel. For more information about domain-level security, see Security considerations for DevOps Test Virtualization Control Panel.
  3. By default, the results show usage data that is gathered over the last week, which is grouped by hour. To select a different view of the data, you can use the Period selections and associated controls. To filter results by domain if you are running stubs from Test Virtualization Control Panel, use the Filter by domain field. To refresh the usage data, click Refresh chart data icon.
  4. To switch off metrics set the RTVS_METRIC_MODE environment variable to OFF for the IntegrationTester executable, the RunTests executable, the agent's RunTests executable, or the Ant task executable. Any value other than OFF results in an attempt to connect to the server identified by the RTVS_METRIC_URL environment variable or, if that is not set, the server that is chosen as the Test Virtualization Control Panel server in the project settings.
    Important: Using an empty RTVS_METRIC_URL is not equivalent to setting RTVS_METRIC_MODE=OFF.
C. Optional client configuration
  1. By default Test Integrations and APIs and Test Virtualization report metrics to the Test Virtualization Control Panel server configured in the Test Integrations and APIs project. You can override this default behavior and report metrics to a different server by one of the following ways:
    • By setting an environment variable that is visible to the IntegrationTester executable, the RunTests executable, the agent's RunTests executable, or the Ant task executable. For example, on Windows Systems:
      set RTVS_METRIC_URL=https://localhost:5443/metric
    • By setting the path to a different server in the application.ini file, the IntegrationTester.ini , or RunTests.ini as a JVM argument. For example:
       -DRTVS_METRIC_URL=https://localhost:5443/metric

      The JVM argument takes precedence.

    • By running Library Manager and adding the following option to the JVM Arguments section. For example:
       -DRTVS_METRIC_URL=https://localhost:5443/metric
    • Metrics are reported to Test Virtualization Control Panel by the RunTests engine and the Test Integrations and APIs workbench. If use of a corporate HTTP proxy is required to enable this connectivity, it can be configured by setting the http_proxy environment variable. An example syntax of http_proxy is:
      http://my.proxy.com:3128
      Note: The RunTests engine is used in both Test Integrations and APIs, Test Virtualization and from the Test Integrations and APIs Ant task. The above advice applies to configure use of the corporate HTTP proxy with all of these applications.
  2. By default Test Virtualization Control Panel is configured to use HTTPS and all server certificates are trusted. To not trust all server certificates, you can set the truststore and password by one of the following ways:
    • By setting environment variables that are visible to the IntegrationTester executable, the RunTests executable, the agent's RunTests executable, or the Ant task executable. For example, on Windows,
       -DRTVS_METRIC_TRUSTSTORE=<path to truststore> -DRTVS_METRIC_PASSWORD=<password>
    • By setting the truststore and password in the application.ini file, the IntegrationTester.ini , or RunTests.ini as a JVM argument. For example:
       -DRTVS_METRIC_TRUSTSTORE=<path to truststore> -DRTVS_METRIC_PASSWORD=<password>

      The JVM argument takes precedence.

    • By running Library Manager and adding the following options to the JVM Arguments section. For example:
      -DRTVS_METRIC_TRUSTSTORE=C:\Program Files\HCL\HCLProducts\QualityServer\usr\servers\defaultServer\resources\security\key.jks-DRTVS_METRIC_PASSWORD=password
    Note: You must set the URL for the server per step 7 before you set the server truststore and password.
D. Deleting data
  1. To delete old data, you can do one of the following options:
    • When a Cassandra data store is used you can set a time-to-live (TTL) mechanism with the stored data, so data can be automatically removed. This mechanism is set up by changing the property kairosdb.datastore.cassandra.datapoint_ttl in <server installation directory>\usr\servers\defaultServer\apps\kairosdb.war\WEB-INF\kairosdb\conf\kairosdb.properties. To apply this setting, restart Test Virtualization Control Panel.
    • When the default H2 data store is used no automatic data removal is possible, the H2 data store can be purged by removing the directory C:\HCL\HQS-Workspace\kairosdb\h2db while Test Virtualization Control Panel is not running.
    • Specific data point ranges can be deleted by using the KairosDB development interface on the system where Test Virtualization Control Panel is installed at http://localhost:7828/.
      Note: The http://localhost:7828/ interface can be accessed only by browsers that are running on the same system as Test Virtualization Control Panel. It cannot be accessed remotely.
E. Advanced client configuration
  1. To store additional information against the metric data, you can set more environment variables for the IntegrationTester executable, the RunTests executable, the agent's RunTests executable, or the Ant task executable.

    The following example adds who metadata to any metric data stored, which might enable more useful reports, for example, to report who is using the stubs the most. However, storing extra data has an extra cost on storage so you want to be conservative, especially if you are using only an H2 database rather than a Cassandra database.

    set RTVS_METRIC_ALIAS_who=%USERNAME%
    Note: You can also add fixed values by using Library Manager. By doing so, you keep the configuration within the Test Integrations and APIs Agent installation. For example, to record the Test Integrations and APIs Agent name that is running stubs, run Library Manager (on the system where Test Integrations and APIs Agent is installed) and add an entry on its own line to the text box labeled JVM Arguments:
    -DRTVS_METRIC_ALIAS_agent=myAgent1
    Restart the Test Integrations and APIs Agent and your stubs to enable the saving of the agent name.