OpenTelemetry integration

You can configure OpenText Performance Engineering for Developers to push telemetry data to an OpenTelemetry Collector during test runs.

Note: The integration with OpenTelemetry Collector is supported from version 25.3, and released as Beta.

About the OpenTelemetry integration

OpenTelemetry Collector provides an observability framework for the collection of telemetry data such as traces, metrics, and logs. During DevWeb tests, the appropriate telemetry data can be exported using the Collector, and used to provide observability for your systems and AUT.

Once the integration with the Collector is configured, then during script replay a header is added to the request, enabling the flow of data to the Collector. For details, see Traceparent header

All machines that are used to collect and view the telemetry data must be aligned to use the same time, otherwise the timelines will not be included in the UI, and there may be timing issues.

If a DevWeb script that includes OpenTelemetry configuration settings is run in a different OpenText Performance Engineering solutions product, the settings in that product override the settings in the script's local rts.yml.

Back to top

Send data to an OpenTelemetry Collector

You configure the connection to the OpenTelemetry Collector in the runtime settings. For details, see Customize runtime settings.

To send telemetry data:

  1. Define the following parameters in openTelemetry section of the rts.yml file:

    Parameter Description
    enabled Set to true to enable export of telemetry data during script replay.
    collector Enter the endpoint (host:port) for the OpenTelemetry Collector, beginning with grpc:// or http://. For example http://my-collector:4318.
    enableTLS Set to true to use TLS (HTTPS) when sending data to the Collector.
    tlsCertificate

    File path for the TLS CA certificate to use for secure connection (optional).

    authenticationHeader

    Authentication token or header to include in requests to the Collector (optional).

    vusersRate

    Number of Vusers that will send telemetry data to the Collector.

  2. To make sure that all machines are synchronized, it is recommended that you run a command to adjust the time on each machine involved with the process. This includes:

    • the client where you run the DevWeb script (for example, OpenText Performance Engineering for Developers machine, load generator machine).

    • the application server.

    • the machine where you view the OpenTelemetry visualization.

    Run from the command line on each machine:

    Linux:

    sudo timedatectl set—ntp true

    Windows (admin):

    w32tm /resync

  3. When the script is run, telemetry data is sent per transaction to the OpenTelemetry Collector.

Back to top

Traceparent header

When you run a DevWeb script with telemetry metrics enabled, a traceparent header is automatically added to each request, which enables you to track the flow of the request and correlate related observability data.

If a script has existing traceparent headers included in its HTTP requests, these headers might conflict with the traceparent headers created to be sent with the telemetry data. We recommend deleting any existing traceparent headers from the script before running the test.

Back to top

See also: