Time series database streaming

For your test run, you can integrate an InfluxDB time series database (beta) to stream raw and aggregated data.

Real-time streaming

Integration with a time series database allows you to stream aggregated or raw data and view your testing metrics in real time.

The integration is done by adding a streaming data agent to the OpenText Core Performance Engineering assets. This agent lets you communicate with a time series database. Then you can view the test's progress using the monitoring tool of your choice, such as Grafana.

Currently, the streaming of raw data is only supported on cloud-based load generators and is limited to runs with a maximum of 5,000 concurrent Vusers.

Note: To use data streaming, submit a service request to enable data streaming for your tenant.

Back to top

Install the streaming agent

The first step in integrating with InfluxDB, is installing the database and a OpenText Core Performance Engineering agent. The agent connects your InfluxDB time series database to your OpenText Core Performance Engineering tenant. Before you begin, download the Influx database from the InfluxData downloads page., and install it on your machine.

The following are the system requirements:

Resource Value
Supported OS Windows 64-bit or Linux Docker
Supported InfluxDB versions

2.x

1.8.x

Install and configure a Windows streaming agent

To install a Windows streaming agent, do the following:

Action Task

Download and install the agent

To download and install the agent:

  1. Download the Streaming agent from the LoadRunner Cloud banner > Tools and Integrations > Agents area.
  2. Extract the downloaded package and run LRCStreamingAgent.exe to install the agent.

Configure the agent

The Streaming Agent Configuration tool opens automatically after the agent installation.

To manually run the configuration tool at any time, go to Start > LoadRunner Cloud – Streaming Agent , right-click Configure Streaming agent, and select Run as administrator.

On the General tab enter:

  1. An agent name
  2. The OpenText Core Performance Engineering username/password or client ID/secret key. Tenants created before version 24.3 can authenticate using the username/password or OAuth authentication methods. However, tenants created for version 24.3 and higher may only authenticate with the OAuth method with a client ID and secret key. The preferred and more secure method is to always authenticate with a client ID and secret key, even for earlier versions. For details, see API access keys.
  3. A tenant id
  4. A project id

In the Misc tab:

  1. To use a proxy other than the one shown, enter your proxy URL.

    If your proxy requires authentication, select the Advanced tab to enter your credentials.

  2. Enter the URL of the OpenText Core Performance Engineering server. You can copy the URL from the address bar of the browser in which you opened the tenant.

    For example, if the URL in the address bar of the browser is https://loadrunner-cloud.saas.microfocus.com/home/?TENANTID=208294383&projectId=1, copy the address https://loadrunner-cloud.saas.microfocus.com.

  3. Select a log level.

In the Streaming tab:

  1. Enter the InfluxDB URL.

  2. Select the InfluxDB version.

  3. Enter the following information:

    • InfluxDB version 2.x: token, organization (either the name or Id), and bucket.

    • InfluxDB version 1.8.x: user name, password, and database name.

  4. In the Options tab, enter any additional arguments and their values. Select the InfluxDB version.

    Streaming Agent Configuration dialog box - Options tab

  5. Click Save or Save & Test. Verify that the connection to the database is successful.

Launch the agent

Go to Start > LoadRunner Cloud – Streaming Agent > Start Streaming Agent.

When the agent starts running, it is shown in the Assets > Agents tab.

Assets Agents tab

Install and configure a Docker container for a streaming agent

To install a Docker container for a streaming agent, do the following:

Action Task
Pull Docker image

Pull the streaming agent Docker image from Docker Hub:

docker pull performancetesting/lrc_streaming_agent:latest

Launch a container

To create the container in background/detached mode for InfluxDB version 2.x:

docker run -d \
      -e "STORM_TENANT=<tenant id>"  \
      -e "STORM_USERNAME=<user name>" \
      -e "STORM_PASSWORD=<password>" \
      -e "STORM_PROJECT_ID=<project id>" \
      -e "STORM_AGENT_NAME=<agent name>" \
      -e "STORM_INFLUXDB_URL=<InfluxDB URL>" \
      -e "STORM_INFLUXDB_TOKEN=<InfluxDB v2.x token>" \
      -e "STORM_INFLUXDB_BUCKET=<InfluxDB v2.x bucket>" \
      -e "STORM_INFLUXDB_ORG=<InfluxDB v2.x organization>" \
      --net=host performancetesting/lrc_streaming_agent

To create the container in background/detached mode for InfluxDB version 1.8.x:

docker run -d \
      -e "STORM_TENANT=<tenant id>"  \
      -e "STORM_USERNAME=<user name>" \
      -e "STORM_PASSWORD=<password>" \
      -e "STORM_PROJECT_ID=<project id>" \
      -e "STORM_AGENT_NAME=<agent name>" \
      -e "STORM_INFLUXDB_URL=<InfluxDB URL>" \
      -e "STORM_INFLUXDB_USER=<InfluxDB v1.8.x user>" \
      -e "STORM_INFLUXDB_PASSWORD=<InfluxDB v1.8.x password>" \
      -e "STORM_INFLUXDB_DATABASE=<InfluxDB v1.8.x database>" \
      --net=host performancetesting/lrc_streaming_agent
Environment variables

You can also pass environment variables using the --env-file command line parameter.

  • STORM_TENANT: Your Tenant ID [required]
  • STORM_USERNAME: Your LoadRunner Cloud user name [required]
  • STORM_PASSWORD: Your LoadRunner Cloud password [required]
  • STORM_PROJECT_ID: The id number for project (default value 1) [optional]
  • STORM_AGENT_NAME: Agent name [required]
  • STORM_AGENT_KEY: Agent key [optional]
  • STORM_AGENT_DESCRIPTION: Agent description [optional]
  • STORM_INFLUXDB_URL: InfluxDB URL[required]

InfluxDB version 2.x:

  • STORM_INFLUXDB_TOKEN: InfluxDB v2.x token [required]
  • STORM_INFLUXDB_BUCKET: InfluxDB v2.x bucket [required]
  • STORM_INFLUXDB_ORG: InfluxDB v2.x organization [required]

InfluxDB version 1.8.x:

  • STORM_INFLUXDB_USER: InfluxDB v1.8.x user [required]
  • STORM_INFLUXDB_PASSWORD: InfluxDB v1.8.xpassword [required]
  • STORM_INFLUXDB_DATABASE: InfluxDB v1.8.x database [required]

 

If the agent requires a proxy, provide the proxy details using the https_proxy or http_proxy environment variable.

For details about managing the agents in OpenText Core Performance Engineering, see Agents.

Back to top

Add the InfluxDB streaming agent

You can view metrics of streaming data during the test run using the integration of OpenText Core Performance Engineering with the InfluxDB database. You can stream either raw or aggregated data.

Note: The streaming of raw data is a technical preview and limited to 5000 Vusers, not including Vusers running on on-premises load generators.

For information on how to set up the integration, see Install the streaming agent. After your integration is complete, you can configure the streaming agent.

To add an InfluxDB streaming agent:

  1. In the Load tests page, open the Streaming agent pane Streaming agent pane button (only visible after integration).
  2. Click + Add from Assets.
  3. Select an agent and click Add.
  4. In the Data Type column, choose Raw or Aggregated. If only one of the data types is enabled for your tenant, the dropdown is inactive and the relevant data type is displayed.

After you begin the test run, you can check the streaming data in the InfluxDB database using a monitoring tool such as Grafana.

InfluxDB database measurements

This section lists the measurements added to the InfluxDB database when the streaming agent is configured.

Aggregated data measurements

Measurement Description Tags Fields
agg_running_vusers Vusers running in the load test emulationId, locationId, runId, scriptId value
agg_failed_vusers Vusers that failed in the load test emulationId, locationId, runId, scriptId value
agg_errors Error messages emulationId, locationId, runId, scriptId value
agg_datapoints Data, such as http_200 and http_302 dataName, emulationId, locationId, runId, scriptId count, value
agg_transactions Transaction related information emulationId, locationId, runId, scriptId, txName, txStatus count, max, min, sum, sumSqr, value
agg_disruptions Disruption events runId, name, type value

Note: If you have configured LRC_CUST_APPLICATION, LRC_CUST_COMPONENT and LRC_CUST_ENVIRONMENT as additional attributes in the script's runtime settings, they are exposed as extra tags (cust_app, cust_env, cust_component) for the aggregated data measurements listed in the table above.

Raw data measurements

Measurement Description Tags Fields
Transaction Raw transactions Name, ScriptName, GroupName, VuserID, Status, RunID, Product, Emulation, Region StartTime, EndTime, ThinkTime, WastedTime
DataPoint Raw datapoints Name, ScriptName, GroupName, VuserID, RunID, Product, Emulation, Region Value
Error Raw error messages Code, VuserID, GroupName, ScriptName, ActionName, Host, RunID, Product, Emulation, Region Message, Iteration, FileLine

Back to top

See also: