Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
Dynatrace
With the Dynatrace k6 extension, you can send visualize and correlate performance testing metrics with the other metrics that you monitor in Dynatrace.
Build the k6 version
To build a k6 binary with the extension, first, make sure you have Go and Git installed on your machine.
Then, open your terminal and run the following commands:
# Install xk6
go install go.k6.io/xk6/cmd/xk6@latest
# Build the k6 binary
xk6 build --with github.com/Dynatrace/xk6-output-dynatrace
... [INFO] Build environment ready
... [INFO] Building k6
... [INFO] Build complete: ./k6
xk6 will create the new k6 binary in the local folder.
Note
To learn more about how to build custom k6 versions, check out xk6.
Run the test
Create a Dynatrace API token to send the data.
Caution
The Dynatrace API Token must have the scope name “metrics.ingest” (scope typeAPI v2
).
You can use the Dynatrace UI:
Or a curl
command (replace <environment-id>
and the Api-Token
):
curl -X POST "https://<environment-id>.live.dynatrace.com/api/v2/apiTokens" -H "accept: application/json; charset=utf-8" -H "Content-Type: application/json; charset=utf-8" -d "{\"name\":\"\",\"scopes\":[\"metrics.ingest\"]}" -H "Authorization: Api-Token XXXXXXXX"
Use the previously built k6 binary and run the test passing the Dynatrace URL and API token as follows:
# export dynatrace variables
export K6_DYNATRACE_URL=https://<environmentid>.live.dynatrace.com
export K6_DYNATRACE_APITOKEN=<Dynatrace API token>
# run the test
./k6 run script.js -o output-dynatrace
Check the metrics in your Dynatrace environment, filtering for k6
:
Options
When streaming the k6 results to Dynatrace, you can configure the following Dynatrace options:
Name | Value |
---|---|
K6_DYNATRACE_APITOKEN | Dynatrace API token to write the metrics. The token must have the scope metrics.ingest API v2 . |
K6_DYNATRACE_FLUSH_PERIOD | Define how often metrics are sent to Dynatrace. The default value is 1 second. |
K6_DYNATRACE_URL | Dynatrace URL. The default value is https://dynatrace.live.com . |
K6_DYNATRACE_INSECURE_SKIP_TLS_VERIFY | If true , the HTTP client skips TLS verification on the endpoint. The default value is true . |
K6_DYNATRACE_HEADER_<here-the-header-key> | Additional headers to include in the HTTP requests. K6_DYNATRACE_HEADER_COOL_HEADER="cool value of the header" |