Wilson Mar bio photo

Wilson Mar

Hello!

Email me Calendar Skype call

LinkedIn Twitter Gitter Instagram Youtube

Github Stackoverflow Pinterest

A sample multi-tier Java app used as the basis for measuring infrastructure

US (English)   Español (Spanish)   Français (French)   Deutsch (German)   Italiano   Português   Cyrillic Russian   中文 (简体) Chinese (Simplified)   日本語 Japanese   한국어 Korean

Overview

This is a step-by-step tutorial on how to install and run the Easy Travel sample stack of apps from Dynatrace so that it can to evaluate its own AppMon and UEM software.

Currently, this article needs an update about Docker and misses key steps and URLs. Thank you for your help.

TL;DR Summary

By “Easy Travel” what we’re referring to here is NOT a real travel site like Expedia.com or http://www.easytravel.co.tz.

EasyTravel consists of both consumer and business portals:

  • Consumer users on the easyTravel web portal to log in, search for journeys to various destinations, select promotional journeys directly that are offered and book a journey using credit card details.

  • Additionally a Business-to-Business (B2B) web portal for travel agencies to manage the journeys that they offer and review reports about bookings made by consumers.

EasyTravel is a multi-tier system implemented in a mix of technologies:

#ApplicationTechnologyMemoryNotes
1.Launcher (includes Java Derby DB)Java/SWT 225 MB(SWT pronounced "Swift")
2.Customer Frontend Java/Tomcat <190 MBport 8079 to 8080
3.Business Backend Java/Tomcat <190 MB-
4.Credit Card Authorization C++/ADK <1 MB-
5.B2B Frontend .NET/MVC 65 MBport 8099 to 9000
6.Payment Backend .NET/MVC 65 MB-
7.Optional Load BalancerNONE --
Overall <800 MB-

“ADK” is the Microsoft ADK (Windows Assessment and Deployment Kit) native app.

What is special about the system is it is designed to exhibit different problem patterns based on specifications in an XML file referenced by programs. The Launcher starts programs in the various tiers and enables switching among demo scenarios. By default the easyTravel Launcher offers four scenario groups:

  1. UEM (User Experience Management) tracks user behavior on web pages for business analytics data like the geographic distribution of your web page visitors and average session duration.
  2. Production usage
  3. Test Center
  4. Development Team

This information is from the EasyTravel download website:

http://bit.ly/dteasytravel (https://community.dynatrace.com/community/display/DL/Demo+Applications+-+easyTravel)

  1. View YOUTUBE: Evaluate Dynatrace with easyTravel demo app from May 14, 2015. In 1 hour Andreas Grabner (@grabnerandi) takes a whirlwind tour, half based on random questions, which can be confusing to newbies. Contents of the video have been incorporated in the steps below.

    CAUTION: Each version of EasyTravel was tested with specific versions of Dynatrace and its AppMon.

    Source

    If you’re curious:

  2. Download dynatrace-easytravel-src.zip from http://dexya6d9gs5s.cloudfront.net/latest/dynatrace-easytravel-src.zip

  3. Expand dynatrace-easytravel-src.zip into folder dynatrace-easytravel-src

  4. View the files and notice:

    • Angular2
    • HBase
    • SeleniumTest
    • ThirdPartyLibraries contains JUnit, etc.
  5. View the list using Excel opening UsedThirdPartyLibraries.xlsx.

    Collect installers

  6. Identify the latest version of Dynatrace (7.2 as of June 2019, 6.5 as of March 2017).
  7. Create a folder to receive downloads.
  8. Download the assets to that folder:

    • “JMeter PERFORM 2015 Samples.zip” file JMeter PERFORM 2015 Samples.zip from https://community.dynatrace.com/community/download/attachments/243434413/JMeter%20PERFORM%202015%20Samples.zip?version=1&modificationDate=1495536503227&api=v2

    • easyTravel Database.dashboard.xml from https://community.dynatrace.com/community/download/attachments/243434413/easyTravel%20Database.dashboard.xml?version=1&modificationDate=1495536502740&api=v2

    • easyTravel.profile.xml from https://community.dynatrace.com/community/download/attachments/243434413/easyTravel.profile.xml?version=1&modificationDate=1495536502790&api=v2

    • dynatrace-easytravel-linux-x86_64.jar from http://dexya6d9gs5s.cloudfront.net/latest/dynatrace-easytravel-linux-x86_64.jar

    • dynatrace-easytravel-windows-x86_64-latest.msi from http://dexya6d9gs5s.cloudfront.net/latest/dynatrace-easytravel-windows-x86_64-latest.msi

  9. Expand “JMeter PERFORM 2015 Samples.zip”

    • runEasyTravelLoginTest.cmd runs
    • EasyTravelLogin_DTTAGGING.jmx using C:\apache-jmeter-2.13
    • registerDynatraceTestRun.cmd runs
    • registerTestRun.jmx

    • EasyTravelLogin_RAW.jmx


Install Dynatrace

  1. Get license

    Click “Download easyTravel Demo License” https://community.dynatrace.com/community/download/attachments/45383742/dynaTrace_license_201609281051.key?version=2&modificationDate=1486998983333&api=v2

    dynaTrace_license_201609281051.key is downloaded.

    CAUTION: The file name is deceptive. Each license is valid within a 3 month period. A new license needs to be downloaded. The license is bound to easyTravel and the pre-configured System Profile that comes with easyTravel.

    QUESTION: How is https://community.dynatrace.com/community/display/EVAL/My+dynaTrace+Trial different than the other page? “A trial account for this ID already exists!”

See https://www.youtube.com/watch?v=B_oWkBjH-Uk

https://community.dynatrace.com/community/display/DOCDT61/Testing+an+Installation

Windows install

  1. If you’re on a Mac, install Ubuntu within VMWare Fusion.

  2. Uninstall previous version:

    ls $UserHome/.dynaTrace/easyTravel 2.0.0/easyTravel/config
     
    rm -rf $UserHome/.dynaTrace/easyTravel 2.0.0/easyTravel/config
    
  3. Click “easyTravel for AppMon x.x”

    CAUTION: Only Windows and Linux are supported. Get the Linux edition to work on a MacOSX

    dynatrace-easytravel-windows-x86_64-2.0.0.2542.msi was 416.1 MB

  4. Click OK to the folder:

    C:\Program Files\dynaTrace\easyTravel (x64)\

  5. If you get the UAC pop-up, click Yes.
  6. Click Finish.

  7. Click the Windows key.
  8. Click EasyTravel Configuration UI.
  9. If the Windows Security Alert pops up, click “Allow access”.
  10. Click OK to this pop-up:

  11. Click on the wheel icon at the upper-right of the screen.
  12. Click “Select a program from a list of installed programs”.

  13. Click on Standard.
  14. Choose “starting”.

    Clean-up

  15. Delete the installer .exe file.

    View

  16. Open a browser to localhost:8079

Install on Linux

  1. Uninstall previous version if it:

    dynatrace-easytravel-linux-x86_64 for AppMon 7 is 361 MB

Using Linux

From this:

It seems you run a 64-bit Ubuntu installation, but easyTravel does not fully support this with the 32-bit binaries that are provided on the community pages.

You can either run easyTravel on an Ubuntu 32-bit installation or use the Web-based launcher via the following commands:

cd weblauncher

./weblauncher.sh

This will provide a web-based view which should provide the same interfaces as the rich-client UI.

Please note that on 64-bit Linux, you likely need to run the following commands to install some additional 32-bit components that are needed by easyTravel:

sudo apt-get update 
sudo aptitude install gcc-multilib 
sudo apt-get install libxml2:i386 
sudo aptitude install lib32z1 
sudo apt-get install libcurl3:i386 
   

If you do not get libxml2:i386 you have to enable multilib support first:

sudo dpkg --add-architecture i386 sudo apt-get update
   
  1. Download from the EasyTravel website:

    dynatrace-easytravel-linux-x86_64-2.0.0.2542.jar, 441 MB


Install Agents

  1. Install agents on Apache servers under test

    1. Adjust dtwsagent.ini
    2. Adjust Apache HTTP config via “Edit http.conf” on Apache Procedure in easyTravel Launcher

  2. Install Dynatrace server (Apache)

  3. Configure System Profile (install resource pack) on dynatrace client

    dynatrace easytravel system profile 452x362

  4. Verify API ports

    http://localhost:8020/api-docs/index.html

  5. Configure Agent Mappings
  6. Inject agentpath-setting into the application code for instrumentation

    https://community.dynatrace.com/community/display/DL/easyTravel+Training+Mode EasyTravel Training Mode

  7. Configure EasyTravel: click on icon at upper-right

    dynatrace easytravel config icon menu 340x131

    Select Show Properties for file easyTravelConfig.properties file.

    Edit config.dtserverWebPort=8020.

  8. Launch servers under test

    The starting of the various tiers and the enabling/disabling of different problem pattern plugins is done via a separate easyTravel Launcher. The Launcher allows the user to conveniently switch between different demo scenarios. Each scenario can define load scripts and certain problem pattern plugins that are enabled. The scenarios can be modified or extended by changing an XML file. This is useful when giving demos and allows you to focus on problem areas that are particularly relevant for a specific demo.

    The default:

    https://localhost:9911

    dynatrace easytravel config ui 1542x1014

  9. Install System Profile

  10. Use by travelers

    Users log in, search for journeys to various destinations, select promotional journeys directly that are offered and book a journey using credit card details.

  11. Use by travel agents

    Login as ???

    A Business-to-Business (B2B) .NET web portal for travel agencies is provided where travel agencies can manage the journeys that they offer and can review reports about bookings made by travelers.

  12. Adjust Generated visits (built into easytravel app)

    dynatrace easytravel config 207x90

  13. Activate Problem Pattern - slow authentication

    In the easytravel Configuration UI, search for “monica”.

    Login as monica / monica.

    See trace on desktop client.

  14. Run load traffic pattern

    [18:54] Watch on Dynatrace Dashboard of specific users.

    [20:02] End user experience geolocation map and who is frustrated.

    QUESTION: What can the company do about frustrated users?

    [22:12] In Diagnostics Transaction Flow: Hotspots by Tier and API

    dynatrace hotspots by tier 805x173

    dynatrace hotspots by api 797x183

    IDE

    https://marketplace.atlassian.com/plugins/be.sofico.bamboo.plugins.bamboo-dynatrace-plugin/server/overview

  15. Configure Eclipse IDE

    https://community.dynatrace.com/community/display/DL/dynaTrace+Eclipse+Integration+Plugin

    https://github.com/Dynatrace/Dynatrace-Eclipse-Integration-Plugin

  16. Configure IntelliJ

    https://community.dynatrace.com/community/display/DL/dynaTrace+IntelliJ+IDEA+Integration+Plugin

    https://community.dynatrace.com/community/display/DL/IntelliJ+IDEA+Integration+Plugin

  17. Configure Visual Studio IDE

  18. Identify Memory Leaks

    https://www.dynatrace.com/blog/hands-tutorial-5-steps-identify-java-net-memory-leaks/

  19. Identify Garbage Collection

    http://apmblog.dynatrace.com/2014/09/16/detecting-bad-deployments-resource-impact-response-time-hotspot-garbage-collection/

    Jenkins integration

  20. Jenkins

    https://github.com/Dynatrace/Dynatrace-JenkinsPlugin

    Confluence

  21. Integrate with Confluence via cPrime

    https://marketplace.atlassian.com/vendors/1211168

    https://marketplace.atlassian.com/plugins/com.cprime.confluence.templates/server/overview

Profile

easyTravel.profile.xml from https://community.dynatrace.com/community/download/attachments/45383742/easyTravel.profile.xml?version=1&modificationDate=1389783776787&api=v2

easyTravel Database.dashboard.xml from https://community.dynatrace.com/community/download/attachments/45383742/easyTravel%20Database.dashboard.xml?version=1&modificationDate=1389783776783&api=v2

Built-in load generator

Run using Flood.io

TODO: