Integration Showcase: LoadView & Dynatrace

This showcase demonstrates how the combination of Dynatrace and LoadView will close remaining gaps in the performance engineering chain.
dynatrace-and-dotcom-monitor
Dynatrace-and-Dotcom-Monitor-Integration

Integration Showcase:

Dynatrace & Dotcom-Monitor’s LoadView

Dotcom-Monitor’s LoadView and Dynatrace are performance-engineering platforms by heart. Both have an excellent customer base, are fully Cloud native solutions and root on a long-standing history. This showcase demonstrates how the combination of both tools will close remaining gaps in the performance engineering chain.

[dt_vc_list]

My major steps in this showcase were:

Registration

Trial account for Dynatrace SaaS

Trial account for dotcom-monitor LoadView SaaS

Installation

EasyTravel demo application on AWS server

LoadView scripting tool Easystep on AWS server

Configuration

Firewall on AWS server

AWS server security policy

Dynatrace request attribute

Setup Load Test

Recorded EasyTravel testing script

Setup load test scenario and execute the test

Result Analysis

Review LoadView end-to-end response times

Deep dive analysis of correlated results in Dynatrace

[/dt_vc_list]
About this Integration

LoadView is a SaaS based load testing platform fully equipped with protocol, headless or full browser based user simulation techniques. It provides testing support for more than 40 devices such as IE, Chrome, Firefox and top mobile devices such as IPhone, Samsung, Nokia, Blackberry and many more.

Dynatrace is a SaaS based monitoring solution and supports a broad range of technologies. Its powerful OneAgent injects all services automatically, captures the service flow and all interactions from the end user, network, and middleware through backend tiers and provides insights to actual bottlenecks.

The picture below highlights the main integration steps between both solutions.

dynatrace-and-loadview

Software used in the showcase:

Dynatrace SaaS – Monitoring Platform from Dynatrace

Dynatrace OneAgent – Monitoring Agent from Dynatrace

EasyTravel – Demo application from Dynatrace

LoadView – Load Testing Platform from dotcom monitor

EveryStep – Scripting tool from dotcom monitor

Setup Demo App EasyTravel on AWS Box

Installed EasyTravel on AWS box

Easytravel setup

Start Easytravel demo app

Add inbound and outbound windows firewall rule on test server for port 8079

EasyTravel

Add outbound rule for the IPs below on AWS box to allow communication with Dynatrace SaaS backend

34.251.255.57
34.250.133.68
54.77.84.155

EasyTravel Setup

Link to my Easytravel demo application hosted on AWS server:

http://35.166.197.76:8079/

Connect demo application hosted on AWS to Dynatrace

Used this documentation for the setup:

https://help.dynatrace.com/infrastructure-monitoring/amazon-web-services/how-do-i-start-amazon-web-services-monitoring/

Create key based access for amazon account
User: dynatrace
AKID: …
Secret access key: …
Custom Policy: watch
Connect amazon account to Dynatrace

DynaTrace Configuration

Dynatrace Configuration

Setup the loadtest request attribute name
Go to Settings / Server-side service monitoring
Create a new request attribute called loadtest
Click on Add new datasource
Set the Parameter name to x-dynatrace
Click on Save

Attention: use lower case characters in both the attribute and parameter name

Detailed documentation:
https://www.dynatrace.com/blog/request-attributes-simplify-request-searches-filtering/

LoadView – Create Load Testing Script

  • Record a Browser based script, which clicks through the demo application EasyTravel
  • Replay the Browser based script
  • Edit the load testing script and add the following code section after tab0 variable initialized: Tab.SetRequestHeader(“loadtest”,”x-dynatrace”);
Load Testing Script

Execute the EveryStep Script load test script several times (single user)
Upload the load test script to LoadView Platform

LoadView – Execute Load Test

Create a test scenario with 4 concurrent user
Start the load test of EasyTravel
Create load test scenario

Watch how user ramp up and E-2-E response times behaves during the run

execution plan
Requests
Dynatrace – Deep dive analysis
Apply the filter loadtest and get the relevant requests
Open the service-flow and understand the communication pattern
service flow

Get a list of long running requests

long running requests

Details for a long running request, find problem spot

problem spots

Big picture, start the performance analysis from there

performance analysis
user actions

User Actions

Benefits:

Load Testing and Performance Monitoring are two rising stars. Organizations can no longer ignore not reliable applications because customers are on the driver seat and often quickly spend their money on other, more reliable sites. Due to this negative financial impact of increasing abandon rates and growing need for fast deployment cycles companies are seeking for a way out of this performance dilemma.

Load generation on early development stages gives confidence how the end-to-end response times develop under multi-user conditions. Testers often use load injection to verify non-functional requirements on pre-production stages.

Performance Monitoring provides insights how the application tiers deal with their service requests. Developer and operational staff often use it to find problem hotspots in their applications.

There are significant benefits if you combine LoadView & Dynatrace:

  1. Find performance issues early in the life cycle
  2. Find root-cause of performance issues
  3. Reduce re-run effort
  4. Check how services behaves under real production load conditions
  5. Understand communication pattern
  6. Verify hardware sizing
  7. Make application tuning much easier
  8. Cut costs and pay only the used services
  9. No internal infrastructure for performance engineering activities required

Successful companies integrated performance engineering in their development lifecycle. They simulate actual and future growth pattern on pre-production stages, identify and fix hotspots and deploy those tuned application into production. Even at production there is guesswork banned out. They permanently monitor user experience, capture all transaction and detect problems automatically based on actual and historic figures. LoadView & Dynatrace are great steps towards lean and reliable IT services.

Ideas How to Improve This Integration

[dt_vc_list]
  • Reporting

    Fetch important Dynatrace performance metrics via Dynatrace Rest API and add those metrics to the test report.

    https://help.dynatrace.com/dynatrace-api/

  • Add “loadtest” header attribute automatically

    It could be difficult for a normal user to edit the script manually.

    A manual script edit requires also a review by support teams prior to execution of a load test.

    Recommendation: Include an “Add Dynatrace header” to Everystep context menu.

  • Tagging of user actions

    Current LoadView – Dynatrace integration starts at the server tier.

    LoadView simulates real user actions and it would be easier if a loadtest tag could be added during replay so that Dynatrace were able to use its filter technique to find the corresponding user actions.

    Dynatrace support recommended reading this blog:

    https://www.dynatrace.com/blog/user-session-search-analytics-arrived/

  • IP based Filter

    No manual or automatic script edits required on LoadView / EveryStep side.

    Simply execute the stress test scenario and use the IP addresses of the load injection machines to filter the corresponding requests captured in Dynatrace.

  • Custom Region

    Define a custom region in Dynatrace for the LoadView load injection machines and use the custom region to identify all load testing requests and drill down to performance hotspots.

[/dt_vc_list]
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on email
Email
Share on print
Print