Integration between NeoLoad and Dynatrace OneAgent
Clone or download
neotys-rd Prepare next Snapshot
[NoUpstream]
Latest commit 0648706 Dec 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib remove readme Nov 19, 2018
screenshots Improve documentation Mar 15, 2018
src Merge Dea optionnal Dec 5, 2018
.gitignore WIP clean code Dec 14, 2017
Jenkinsfile Add jenkinsfile Dec 19, 2017
LICENSE Initial commit Oct 30, 2017
README.md update readme Nov 8, 2018
pom.xml Prepare next Snapshot Dec 5, 2018

README.md

Dynatrace Logo

Dynatrace Integration for NeoLoad

Overview

These Advanced Actions allows you to integrate NeoLoad with Dynatrace in order to correlate data from one tool to another.

This bundle provides inbound and an outbound integration:

  • DynatraceEvents: Links a load testing event to all services used by an application monitored by Dynatrace. Data sent: Neoload Project, Test and Scenario Name. NeoLoadWeb Frontend Url.

  • DynatraceMonitoring

    • Dynatrace → NeoLoad: Retrieves infrastructure and service metrics from Dynatrace and inserts them in NeoLoad External Data so that you can correlate NeoLoad and Dynatrace metrics within NeoLoad.

      • Infrastructure metrics:

        host.availability, host.cpu.idle, host.cpu.iowait, host.cpu.steal, host.cpu.system, host.cpu.user, host.disk.availablespace, host.disk.bytesread, host.disk.byteswritten, 
        host.disk.freespacepercentage, host.disk.queuelength, host.disk.readoperations, host.disk.readtime, host.disk.usedspace, host.disk.writeoperations, host.disk.writetime, 
        host.mem.available, host.mem.availablepercentage, host.mem.pagefaults, host.mem.used, host.nic.bytesreceived, host.nic.bytessent, host.nic.packetsreceived, pgi.cpu.usage, 
        pgi.jvm.committedmemory, pgi.jvm.garbagecollectioncount, pgi.jvm.garbagecollectiontime, pgi.jvm.threadcount, pgi.jvm.usedmemory, pgi.mem.usage, pgi.nic.bytesreceived, 
        pgi.nic.bytessent
      • Service metrics:

        service.clientsidefailurerate, service.errorcounthttp4xx, service.errorcounthttp5xx, service.failurerate, service.requestspermin, 
        service.responsetime, service.serversidefailurerate
    • NeoLoad -> Dynatrace: Sends the global statistics of the test to Dynatrace OneAgent so they can be used as custom metrics in Dynatrace dashboards.

      • Custom metrics:
        Request.duration, Request.Count, Transaction.Average.Duration, User.Load, Count.Average.Failure, DowLoaded.Average.Bytes, Downloaded.Average.Bytes.PerSecond, 
        Iteration.Average.Failure, Iteration.Average.Success, Request.Average.Count, Request.Average.Success, Request.Average.Failure, Request.Sucess.PerSecond, 
        Request.Failure.PerSeconds, Transaction.Average.Failure, Iteration.Average.Success, Transaction.Failure.PerSecond, Iteration.Average.Success, Transaction.Average.Count, 
        Failure.Rate
Property Value
Maturity Stable
Author Neotys Partner Team
License BSD Simplified
NeoLoad 6.3+ (Enterprise or Professional Edition w/ Integration & Advanced Usage and NeoLoad Web option required)
Requirements NeoLoad Web
Bundled in NeoLoad No
Download Binaries
  • latest release is only compatible with NeoLoad from version 6.7
  • Use this release for previous NeoLoad versions

Installation

  1. Download the latest release for NeoLoad from version 6.7 or this release for previous NeoLoad versions.
  2. Read the NeoLoad documentation to see How to install a custom Advanced Action.

New Relic Advanced Action

NeoLoad Set-up

Once installed, how to use in a given NeoLoad project:

  1. Create a “Dynatrace” User Path.
  2. Insert "DynatraceEvents" in the ‘End’ block.
  3. Insert "DynatraceMonitoring" in the ‘Actions’ block.

    Dynatrace User Path

  4. Select the Actions container and set a pacing duration of 30 seconds.

    Action's Pacing

  5. Select the Actions container and set the "Reset user session and emulate new browser between each iteration" runtime parameters to "No".

    Action's Runtime parameters

  6. Create a "PopulationDynatrace" Population that contains 100% of "Dynatrace" User Path.

    Dynatrace Population

  7. In the Runtime section, select your scenario, select the "PopulationDynatrace" population and define a constant load of 1 user for the full duration of the load test.

    Load Variation Policy

  8. Do not use multiple load generators. Good practice should be to keep only the local one.
  9. Verify that NeoLoad Web data transfer is properly configured on the Controller preferences (see Preferences / General settings / NeoLoad Web).

    NeoLoad Web Preferences

  10. Verify to have a license with "Integration & Advanced Usage".

    License with Integration & Advanced Usage

Dynatrace Set-up

On the Dynatrace interface

  1. Create (or retrieve) a Dynatrace API key from menu Settings/Intregration/Dynatrace API.

    Dynatrace API key

  2. Search for the application being tested.

    Dynatrace Application

  3. Apply a tag on the application being tested.

    Dynatrace Tag

Parameters for Dynatrace Events

Name Description
dynatraceId Identifier of your Dynatrace environment:
  • for live environment, identifier part of URL http://<identifier>.live.dynatrace.com (for example identifier is pk12475 for URL https://pk12475.live.dynatrace.com)
  • for managed environment, identifier is a UUID (Universal Unique Identifier), for example 123e4567-e89b-12d3-a456-426655440000
dynatraceApiKey API key of your Dynatrace account
tags (optional) Dynatrace tags. Links the NeoLoad computed data to Dynatrace tags (format: tag1,tag2)
proxyName (Optional) The NeoLoad proxy name to access Dynatrace
dynatraceManagedHostname (Optional)
  • for managed environment, it is the hostname of your managed Dynatrace environment (for example preprod.neotys.com, do not include neither protocol nor API path)
  • for live environment, this parameter should be removed

Parameters for Dynatrace Monitoring

Tip: Get NeoLoad API information in NeoLoad preferences: Project Preferences / REST API.

Name Description
dynatraceId Identifier of your Dynatrace environment:
  • for live environment, identifier part of URL http://<identifier>.live.dynatrace.com (for example identifier is pk12475 for URL https://pk12475.live.dynatrace.com)
  • for managed environment, identifier is a UUID (Universal Unique Identifier), for example 123e4567-e89b-12d3-a456-426655440000
dynatraceApiKey API key of your dynatrace account
tags (optional) Dynatrace tags. Links the NeoLoad computed data to Dynatrace tags (format: tag1,tag2)
dynatraceManagedHostname (Optional)
  • for managed environment, it is the hostname of your managed Dynatrace environment (for example preprod.neotys.com, do not include neither protocol nor API path)
  • for live environment, this parameter should be removed
dataExchangeApiUrl (Optional) Where the DataExchange server is located. Optional, by default it is: http://${NL-ControllerIp}:7400/DataExchange/v1/Service.svc/
dataExchangeApiKey (Optional) API key of the DataExchange API
proxyName (Optional) The name of the NeoLoad proxy to access to Dynatrace

Analyze results in NeoLoad

All the metrics retrieved from Dynatrace are available on the NeoLoad Controller (live during the test, and after the test is executed), in the External Data tab.

NeoLoad Graphs External Data

Analyze results in Dynatrace

  1. Create a custom chart with NeoLoad data.

    Dynatrace custom chart

  2. Analyze NeoLoad metrics.

    Click on the custom metric:

    Dynatrace select custom neoload metric

    Analyze all the NeoLoad metrics sent:

    NeoLoad Data

  3. Consult NeoLoad events on the tested application.

    Dynatrace consult NeoLoad Event

Check User Path

This bundle does not work with the Check User Path mode. A Bad context error should be raised.

Status Codes

  • Dynatrace event
    • NL-DYNATRACE_EVENT_ACTION-01: Could not parse arguments
    • NL-DYNATRACE_EVENT_ACTION-02: Technical Error
    • NL-DYNATRACE_EVENT_ACTION-03: Bad context
  • Dynatrace monitoring
    • NL-DYNATRACE_MONITORING_ACTION-01: Could not parse arguments
    • NL-DYNATRACE_MONITORING_ACTION-02: Technical Error
    • NL-DYNATRACE_MONITORING_ACTION-03: Bad context