02 Mar 2022 01:21 PM - edited 02 Mar 2022 01:51 PM
Group - CPU
Group - Database
Group - Exception
Group - Http Errors
Group - Http Redirect
Group - Integration
Group - Internal
Group - Javascript
Group - Memory
Group - Messaging/Remoting
Group - Mobile App
Group - Native Application
Group - PaymentService
Group - Problems
Group - Slowdown
Group - Synchronization
Group - Tomcat
Group - UI related plugin
Group - Webserver
<td">Pattern
Description |
State | Suitable for | Dependency (DB, etc.) | |
AngularJSGalleryApplication |
This plugin enables links on the main page to the Image Gallery AngularJS application. |
|||
BadCacheSynchronization |
Activating this plugin causes synchronization problems in the customer frontend and uses a lot of CPU by doing an inefficient cache lookup. Activating this plugin should show a class 'CacheLookup' as doing lots of synchronization. |
|||
BookingErrorAsHttp500 |
Throws a HTTP 500 Server Error if the payment validation or booking yield an unexpected error, e.g. if the credit card or payment service plugin are unavailable. Usually you will combine this problem pattern with others, e.g. by disabling all 'NativeApplication' problem patterns. |
|||
CaptureBookingID |
If enabled the Business Transaction "easyTravel BookingIDs" creates a dynamic Measure for each booking. This Business Transaction causes a Measure Explosion. Set system property com.dynatrace.diagnostics.server.OverruleMaxSplittingsBTs for dynaTrace Server to e.g. "easyTravel:easyTravel BookingIDs=50" to limit the number of splittings to 50. |
|||
CassandraMemoryCache |
Uses the Cassandra distributed memory cache functionality for building a distributed cache of journeys and locations which avoids costly calls to the backend/database. Note: Install and run Cassandra Server first (see devwiki) |
⚠️ |
||
CouchDB |
This plugin forces the use of images loaded from an instance of CouchDB running on a specified server. |
|||
CPULoad |
Causes high CPU usage in the business backend process to provoke an unhealthy host health state. The additional CPU time is triggered in 8 separate threads independent of any searching/booking activity. |
|||
CPULoadExternalProcess |
Causes high CPU usage in a separate process to provoke an unhealthy host health state. The additional load is being triggered in multiple threads based on the number of cores of the CPU on the current machine so that only a bit of CPU time is left. The load is triggered by an external application - not the procedure executing this plugin. |
|||
CPULoadJourneyService |
This plugin causes additional high CPU usage when searching for a journey. It is executed a number of times, regardless whether the requested journey is found or not. |
|||
CrashCouchDB |
The plugin will crash the CouchDB Erlang process in such a way as to be observed by Windows Error Reporting. Windows will then display a crash pop-up dialog box. To disable the pop-up, re-configure the Windows Error Reporting settings. |
|||
CreditCardCheckError500 |
Simulates an exception while communicating with the native application. This is triggered when the credit card is validated as part of booking a journey in the customer web frontend. |
|||
CTGNativeApplication |
Dispatches the credit card verification into CICS using the CICS Transaction Gateway (CTG). This requires manual setup of the corresponding resources on the CICS side. |
dynaTrace |
||
DatabaseAccessExceedPoolNonThreaded |
On the Business Backend application, while storing a Booking execute some SQL queries in multiple connections to see high usage of the connection pool. |
jpa |
||
DatabaseAccessExceedPoolThreaded |
On the Business Backend application, while storing a Booking execute some SQL queries in multiple threads for some time to create heavy load on the connection pool/database. |
jpa |
||
DatabaseAccessFromFrontend |
Causes an 'architecture problem' by causing the customer frontend application to directly perform SQL queries against the database whenever a search is done, which 'by design' only the business backend application should do. Also uses a non-connection pool connection which is displayed differently in the Database Dashlet. Look for class 'QueryLocations' in the PurePath. |
jpa |
||
DatabaseAccessFromFrontendHeavy |
Causes an 'architecture problem' by causing the customer frontend application to directly perform SQL queries against the database whenever a search is done, which 'by design' only the business backend application should do. Also uses a non-connection pool connection which is displayed differently in the Database Dashlet. Look for class 'QueryLocations' in the PurePath. Note: This plugin puts a heavy load on CPU as well, not suited for live demos! |
|||
DatabaseAccessPoolContention |
On the Business Backend application, while searching Locations, executes a stored procedure that contends a db-pool for a few secondes. The effect in dynaTrace will be that you see high database calls of a stored procedure which allows to show database related use cases. The database call will be done asyncronously and will show a database time of 2 seconds. |
jpa |
||
DatabaseAccessPoolContentionSync |
On the Business Backend application, while searching Locations, executes a stored procedure that contends a db-pool for a few secondes. The effect in dynaTrace will be that you see high database calls of a stored procedure which allows to show database related use cases. This will do the call syncronously as part of the transaction and will cause a database delay of 500 milliseconds. |
jpa |
||
DatabaseCleanup |
Cleans out items where we continuously accumulate data in the Database, e.g. Booking and LoginHistory and keeps the last 5000 to avoid filling up the database over time. This is done every 5 minutes at the point where a Journey is searched. Usually this plugin is enabled by default, if you disable it, the databasde will fill up over time, especially if traffic is generated automatically. |
|||
DatabaseReducePoolSize |
Reduces the pool size of the Database Connection Pool to only 3 connections. In combination with other database-related problem patterns, this shows situations where there are much too less connections available and thus many threads are waiting for the database. |
jpa |
||
DatabaseSlowdown |
Plugin which causes queries on locations to take longer. To enable it set config.enableDBSlowdown property to true. |
|||
DBSpamming |
Plugin which causes unnecessary DB access in business backend when a booking of a journey is stored. It also reduces the number of cached entries in the hibernate cache in order to increase the number of DB Statements. Note: This Problem Pattern will require more memory than is usually available for the Business Backend process, add the following to your scenario or increase memory for Business Backend in the properties to at least 368m:. Also a lot of CPU is used here, on slower/less powerful machines this might use up a considerable amount of CPU time! |
dynaTrace |
||
DBSpammingAuth |
Plugin which causes unnecessary DB access in business backend when user is authenticated. It also reduces the number of cached entries in the hibernate cache in order to increase the number of DB Statements. |
|||
DBSpammingAuthWithAppDeployment |
Plugin causes two things: simulates upgrade of the web application (by deploying a new easyTravelMonitor.war file on business backend) and enables database spamming when user is authenticated. Database spamming is started aproximately after 1 minute after deployment. It also reduces the number of cached entries in the hibernate cache in order to increase the number of DB Statements. |
|||
DCRUMEmulationPlugin |
This plugin generates data like an DC-RUM appliance. You can use it to show how dynaTrace leverages the capabilities of DC-RUM. Be aware that some load must be activated via the slider in the easyTravel Configuration UI to get emulated data. |
dynaTrace |
||
DeadlockInFrontend |
Causes a deadlock in the customer frontend application when the user clicks on the promotion picture in the customer frontend. You can then use dynaTrace thread dump functionality to quickly find the cause of the deadlock. |
|||
DeadlockInFrontendJavaConcurrent |
Triggers a deadlock in the customer frontend application when the user clicks on the promotion picture in the customer frontend. Uses classes from the java.util.concurrent package introduced in Java 1.5. |
|||
DisableHibernateCache |
Disables the hibernate query cache for all database queries, this will increase the number of database statements as we do not cache data any more in the persistence layer. |
jpa |
||
DotNetPaymentService |
If enabled, the .NET Payment Backend is called when a booking is made. This plugin is enabled if .NET is available and disabled on installations where .NET is not availalbe, e.g. Unix. Usually this plugin is configured via the bootplugins in the properties. |
|||
DummyNativeApplication |
Simulates the 'validation' of the entered credit card number when a booking is stored but does not actually call the native (C++) application. Any string consisting of only digits will match. Use this plugin if you don't have the C++ application available. Remember to disable the plugin 'NamedPipeNativeApplication' as well in this case. |
|||
DummyPagePlugin |
Sample plugin to show what functionality plugins can extend on the customer frontend web page. It adds some elements to the main page which act a showcase what elements UI-plugins can add/adjust. |
dynaTrace |
||
DummyPaymentService |
Always returns 'payment accepted' instead of calling the .NET Payment Backend. Use this plugin if you don't have the .NET applications available, e.g. on Unix. Remember to also disable the 'dotNetPaymentService' plugin if you are using this plugin. |
|||
EnableCaching |
This Plugin enables browser-side caching of resources of type HTML, JS, CSS and PNG. Note: To disable the plugin properly you have to clear the cache of your browser. |
dynaTrace |
||
ErrorInFlashContent |
Plugin to include a flash banner that produces an error every few page requestse. This plugin helps demonstrating dynaTrace's capabilities to track flash content using the JavaScript ADK. Remember to disable the 'Flash Banner' and 'Slow page action in Flash' plugins if this plugin is enabled. |
dynaTrace |
||
ExceptionSpamming |
Plugin which causes heavy exception spamming on several locations. |
dynaTrace |
||
FailedImagesDetection |
When activating this pattern the user can force the generation of failed images. The failed images are shown in the waterafall view. |
|||
FailedXHRs |
When activating this pattern the user can force the generation of xhr failures. |
|||
FetchSizeTooSmall |
This plugin sets the fetchsize of the Hibernate persistence layer to 1 when executing database queries. This will cause inefficient select statements to show up on databases where otherwise Hibernate is optimizing fetches into bulks. |
|||
FindJourneysSqlServerQueryOverride |
This plugin uses a very expensive stored procedure (sp_findJourneys) to fetch journeys. The procedure has to be created manually before the plugin can be used. The SQL source file (sp_findJourneys.sql) is located in the plugin's JAR file root. Note: This is usually only available when running easyTravel against SQL Server. |
|||
FlashBanner |
Plugin to include a flash banner. This plugin demonstrates dynaTrace's capabilities to track flash content using the JavaScript ADK. Remember to disable the 'Error in Flash Content' and 'Slow page action in Flash' plugins if this plugin is enabled. |
dynaTrace |
||
GarbageCollectionEvery10Seconds |
Causes a manual full garbage collection on the Business Backend process when searching for journeys. The GC is triggered every 10 seconds. |
|||
HazelcastMemoryCache |
Uses the Hazelcast distributed memory cache functionality for building a distributed cache of journeys and locations which avoids costly calls to the backend/database. This plugin can be used to show how dynaTrace visualizes such a distributed caching functionality. |
⚠️
|
||
HiddenIframeAmazonTracking |
A plugin which adds a hidden iframe which loads some Amazon page that allows to count clicks on the homepage. Loading the iframe is done in the background via Javascript so that the page loads as usual and the user does not notice the access, take a look how dynaTrace displays this access. |
|||
Host Emulation |
The plugin simulates a large number of host agents. The plugin may require a large amount of memory and should be used only for development purposes. |
|||
HotDealClientJMS |
This plugin requests hot deals by using JMS. It displays four hot deals on the search page. ATTENTION: In order to work both the HotDealServerJMS plugin and the HotDealClientJMS plugin must be activated. It is a good practice to activate the HotDealServerJMS plugin first. |
|||
HotDealClientRMI |
This plugin requests hot deals by using RMI. It displays four hot deals on the search page. ATTENTION: In order to work both the HotDealServerRMI plugin and the HotDealClientRMI plugin must be activated. It is a good practice to activate the HotDealServerRMI plugin first. |
|||
HotDealServerJMS |
This plugin provides hot deals by using JMS. The HotDealClientJMS plugin requests these deals and displays them on the search page. ATTENTION: In order to work both the HotDealServerJMS plugin and the HotDealClientJMS plugin must be activated. |
|||
HotDealServerRMI |
This plugin provides hot deals by using RMI. The HotDealClientRMI plugin requests these deals and displays them on the search page. ATTENTION: In order to work both the HotDealServerRMI plugin and the HotDealClientRMI plugin must be activated. |
|||
HTTPErrorForBlogAds |
Enable 'HTTP error 500' for ads (curl) on wordpress-blog site |
|||
HttpRedirect |
Adds a link to the footer of the main page of the customer frontend application which tries to provide a very simple faked 'hot deals' widget, but fails and redirects to an error page. |
|||
IMSNativeApplication |
Dispatches the credit card verification into IMS instead of using the native ADK implementation. |
dynaTrace |
||
InfiniteLoopInFrontend |
Causes an infinite loop in the frontend when searching trips with a from date past the to date. |
|||
JavascriptAppVersionSpecificError |
This pattern generates javascript errors that are specific to an application version. Every browser visit with the application version of 1.3 or 1.4 is reporting an error when clicking on the login button! Version 1.7 and 1.8 also generate an error here but this one is different. |
dynaTrace |
||
JavascriptBootstrapAgent |
Injects the javascript bootstrap agent (<) or initialization code (> 6.5) into the customer frontend. Disable automatic injection for system profile! |
|||
JavascriptChangeDetectionWithError |
DO NOT SHUTDOWN WITHOUT DEACTIVATING - FILE STATE PERSISTS! Activating this plugin causes changedetectionlib.js being changed by placing an erroneous piece of JavaScript code in it. UEMLoad and real request will produce a JavaScript-Syntax error. The OS-Agent sends a message to the server which is shown in the HostsDetail view. There exists no incident at the moment which informs the user about the possible connection of increasing JavaScript-Errors and the monitored ChangeDetection. ATTENTION: when performing a demo and you want to show the updated file within the browser tools, you have to run easyTravel with admin permissions. The .js file will only be updated with proper rights. |
APM |
||
JavascriptChangeDetectionWithSlowBrowser |
DO NOT SHUTDOWN WITHOUT DEACTIVATING - FILE STATE PERSISTS! Activating this plugin causes changedetectionlib.js being changed by placing JavaScript code in it which performs bad on Internet Explorer. The OS-Agent sends a message to the server which is shown in the HostsDetail view. There exists no incident at the moment which informs the user about the possible connection of increasing JavaScript-Errors and the monitored ChangeDetection. ATTENTION: when performing a demo and you want to show the updated file within the browser tools, you have to run easyTravel with admin permissions. The .js file will only be updated with proper rights. |
APM |
||
JavascriptErrorOnLabelClick |
When activating this pattern the user can force the generation of a JavaScript error on orange.jsf by clicking on one of the labels of the journey search box. |
|||
JavascriptFrameworkDetection |
Adds an additional framework (Angular JS) to the list of detected frameworks |
APM |
||
JavascriptFrameworkDetectionUpdate |
Updates the angular js framework that is added by JavascriptFrameworkDetection problem pattern to a newer version (1.4.4). Requires the JavascriptFrameworkDetection to be enabled. |
APM |
||
JavascriptIncreasedErrorCount |
This pattern increases the likelyhood that a page load produces a JavaScript error from 4% to approximately 10%. The execution of the pattern will lead to a base line violation. |
|||
JavascriptTagging |
Uses the JavaScript API instead of the BT-Tagging to tag a visit. |
|||
JavascriptUserActionError |
When activating this pattern will add additional generated user actions to the contact page during UemLoad. The action ending with 'Error Button' (Error 1) is always added whereas the actions ending with 'Error Label' (Error 2) and 'Error Mouseover' (Error 3) are appended on approximately every 5th request. Error 1 adds automatically generated errors on every 10th , Error 2 on every 5th request - depending if Error 2 has been added to the page on base of the previously mentioned probability. The amount of generated errors can be between 1 and 3 and is determined randomly. If Error 3 is added to the page it is always causing an inline javascript error with a random line number. |
|||
JourneySearchError404 |
Causes an HTTP 404 error code by returning an image name that does not exist when searching for journeys in the customer frontend web application. |
|||
JourneySearchError500 |
Throws an HTTP 500 server error if the journey search parameters are invalid, e.g. toDate is before fromDate |
|||
JourneyUpdateFast |
This plugin updates the amount of journeys using batch updates. This allows to show the effect of using JDBC batch updating, which is usually faster than non-batched mode. |
jpa |
||
JourneyUpdateSlow |
This plugin updates the amount of journeys one after another. This shows the effect of using non-batched JDBC, which is usually much slower. |
jpa |
||
JQueryEffectsOptimized |
This plugin modifies the effects in the navigation bar of easyTravel. To do so the plugin loads only the essential and compressed jQuery files. |
dynaTrace |
||
JQueryEffectsStandard |
This plugin modifies the effects in the navigation bar of easyTravel. This plugin loads uncompressed jQuery files. It also causes the loading of superfluous jQuery files. |
dynaTrace |
||
LargeMemoryLeak |
Causes a large memory leak in the business backend when locations are queried for auto-completion in the search text box in the customer frontend. Note: This will quickly lead to a non-functional Java backend application because of out-of-memory errors. |
|||
LoadChange |
This plugin changes the load. New load is defined by config.baseLoadIncreased configuration value. |
|||
LoginProblems |
Simulates an execption when a login is performed in the customer frontend application. |
|||
MagentoShop |
This plugin enables links on the main page to the Magento demo shop - Madison Island. |
|||
MediumMemoryLeak |
Causes a medium sized memory leak in the business backend when locations are queried for auto-completion in the search text box in the customer frontend. This leak is large enough to show growing memory in the timeframe of aprox. 30 minutes and should lead to an OOM in under one hour when you are using the default traffic setting in easyTravel. |
|||
MissingServletError404 |
Adds a link called 'Package Tours' to the header of the main page of the customer frontend application which will lead to a HTTP Error 404 if clicked. Remember to refresh the web page after enabling this pattern. |
|||
MobileCrashesPeak |
Mobile crahes peak. |
|||
MobileErrors |
Journey searches and bookings from mobile devices create errors. (no errors created for Tablets) |
|||
NamedPipeNativeApplication |
Sends the entered credit card number for 'validation' to the native application via named pipes interprocess communication. This is usually enabled by default. Disable this and enable the 'DummyNativeApplication' if you would like to run without the native application. |
|||
NetworkPacketDrop |
Plugin will cause network problems by dropping packets directed as a response from Customer Frontend to Apache Web Server. Plugin will work when Apache Web Servier is running on the Linux host only |
|||
NodeJSWeatherApplication |
This plugin includes the current weather of the destination into the results page and the weather forecast for the trip duration into the trip details page. |
|||
PHPEnablementPlugin |
Used to indicate in the Customer Frontend if PHP/Rating support should be used. |
|||
PluginAgentBB |
This plugin is used to demonstrate plugin agents. It generates traffic from Business Backend to an external process on a Vagrant box. Note: the Vagrant box must be configured manually |
APM |
||
PluginAgentCF |
This plugin is used to demonstrate plugin agents. It generates traffic from Customer Frontend to an external process on a Vagrant box. Note: the Vagrant box must be configured manually |
APM |
||
|
Sample plugin which just prints out the plugin location that is visited. |
dynaTrace |
||
PrintClusterNode |
Shows the actual port of the instance which received the page request in the footer area of the customer frontend when multiple frontend applications are handling requests via a load balancing server, e.g. via the Apache procedure in some scenarios. |
|||
RandomSQLStatements |
Causes two 'architecture problems' by causing the customer frontend application to directly perform ever-changing SQL queries against the database whenever a search is done, 'by design' only the business backend application should do SQLs and prepared statements should be used for performing SQLs with bind-variables. Also uses a non-connection pool connection which is displayed differently in the Database Dashlet. Look for class 'QueryLocations' in the PurePath. NOTE: This will currently make Customer Frontend go out of memory quickly because of of how hibernate caching is configured! |
jpa |
||
ScaleMicroJourneyService |
Plugin increases number of microservice instances. It would not work by default as it requires Mesos and Marathon to be properly configured and to contain required applications. |
APM |
||
SimpleMemoryCache |
Uses a simple memory cache to keep results of searches for Locations and Journeys in the Customer Frontend application, this can be used to show much less webservice/database calls when enabled and can simulate a performance improvement that is implemented in a new version. |
|||
SlowApacheWebserver |
Slows down Apache Webserver. |
|||
SlowAuthentication |
Performs an inefficient calculation of total revenues for a user on login. Monica and Hainer (who is not used by UEMLoad) have a large login / booking history and will experience noticeable lags when trying to login. The Dashlets will show a huge amount of Database access with calls to the database procedure 'verify_location' on top. |
jpa |
||
SlowImages |
Simulates a slow loading process of the image elements of the customer frontend. |
dynaTrace |
||
SlowIoDummyPaymentService |
Simulates a remote payment service that takes a long time to respond, causing long socket I/O wait times. Please disable all other payment service plugins. |
|||
SlowPageActionInFlash |
Plugin to include a flash banner that causes a significant delay to the loading of the page. This plugin helps demonstrating dynaTrace's capabilities to track flash content using the JavaScript ADK. Remember to disable the 'Error in Flash Content' and 'Flash Banner' plugins if this plugin is enabled. |
dynaTrace |
||
SlowTransactionForPHPBlog |
Enable Slow Transactions from Java to PHP. Transactions are slow beacause of DB spamming. |
|||
SlowUserLogin |
Simulates a general problem with user logins. When this plugin is enabled, all users will experience login time of over 10 seconds. The Method Hotspots Dashlet will show that we have to wait very long for external data to come in. |
|||
SmallMemoryLeak |
Causes a small memory leak in the business backend when locations are queried for auto-completion in the search text box in the customer frontend. |
|||
SocketNativeApplication |
Sends the entered credit card number for 'validation' to the native application via socket interprocess communication. This is usually enabled by default. Disable this and enable the 'DummyNativeApplication' if you would like to run without the native application. |
|||
StarvingDummyNativeApplication |
Simulates a legacy credit card validator that can only be accessed single-threaded and takes a long time, starving concurrent callers. Any string consisting of ten digits will match. Please disable all other native application plugins. |
|||
StreamingMediaTraffic |
Simulates playback of streaming media by the visitors. Approximately every 3rd signal will be extended with streaming media information. The 'Streaming' Javscript Pack of the JavaScript agent must be enabled for any traffic to be generated! |
dynaTrace |
||
StreamingVideo |
Plugin to include a video using HTML5 Media Tags on the home page of easyTravel. |
dynaTrace |
||
TabletCrashes |
Journey bookings from mobile tablet devices crash. |
|||
ThirdPartyAdvertisements |
Plugin to include third party advertisements banner loaded from a third party server. The ad banner is loaded from easyTravel's Third Party Content Server. This plugin conflicts with plugin ThirdPartySlowAdvertisements. If all are enabled the loaded third party banner is determined by the plugin last executed. |
|||
ThirdPartyContent |
Plugin to include third party social media links for facebook, twitter and google+. This plugin helps demonstrating dynaTrace's capabilities to monitor third party content. |
|||
ThirdPartyIncludeSocialMedia |
Shows additional UI elements which use Javascript functionality provided by Facebook and Twitter in the frontends. Note: This requires a working internet connection and will cause problems with web testing frameworks like Selenium and Canoo Webtest. |
|||
ThirdPartyJQueryEffectsCloudflare |
This plugin forces the use of a remote instance of JQuery: cdnjs.cloudflare.com. |
|||
ThirdPartySlowAdvertisements |
Enable this plugin to include third party advertisements banner loading from a slow third party server (easyTravel's Third Party Content Server). This plugin conflicts with plugin ThirdPartyAdvertisements. If all are enabled the loaded third party banner is determined by the plugin last executed. |
|||
ThirdPartyWebAnalyticsTool |
Plugin to include a web analytics tool(statcounter) on every page |
|||
ThirdPartyWebFontGoogle |
This plugin forces the use of a font loaded from the Web (Google): The header for the 'Your Journey' box should be displayed using the Pacifico handwriting font. |
|||
TravellersOptionBox |
Causes an 'ArrayIndexOutOfBoundsException' wrapped in an 'InvalidTravellerCostItemException' if in the review-step of the booking flow in the customer frontend, the last option '2 adults+2 kids' is selected in the combo-box for 'travellers'. |
|||
UnhealthyThirdPartyService-CDN-01-Healthy |
Plugin to include third party content from a CDN (easyTravel's Third Party Content Server). PLEASE NOTE: This plugin has to be used mutually exclusive with both 'UnhealthyThirdPartyService-CDN-02-Unhealthy-LimitedAvailability' and 'UnhealthyThirdPartyService-CDN-03-Unhealthy-Outage'. |
dynaTrace |
||
UnhealthyThirdPartyService-CDN-02-Unhealthy-LimitedAvailability |
Plugin to include third party content from a CDN (easyTravel's Third Party Content Server). There is a limitation of the CDN simulated when accessing the resources and therefore the resources get delievered with a delay. PLEASE NOTE: This plugin has to be used mutually exclusive with both 'UnhealthyThirdPartyService-CDN-01-Healthy' and 'UnhealthyThirdPartyService-CDN-03-Unhealthy-Outage'. |
dynaTrace |
||
UnhealthyThirdPartyService-CDN-03-Unhealthy-Outage |
Plugin to include third party content from a CDN (easyTravel's Third Party Content Server). There is an outage of the CDN simulated when accessing the resources and therefore the resources do not get delievered at all. PLEASE NOTE: This plugin has to be used mutually exclusive with both 'UnhealthyThirdPartyService-CDN-01-Healthy' and 'UnhealthyThirdPartyService-CDN-02-Unhealthy-LimitedAvailability'. |
dynaTrace |
||
UnhealthyThirdPartyService-SocialMedia-01-Healthy |
Plugin to include third party content from a Social Media Provider (easyTravel's Third Party Content Server). PLEASE NOTE: This plugin has to be used mutually exclusive with both 'UnhealthyThirdPartyService-SocialMedia-02-Unhealthy-LimitedAvailability' and 'UnhealthyThirdPartyService-SocialMedia-03-Unhealthy-Outage'. |
dynaTrace |
||
UnhealthyThirdPartyService-SocialMedia-02-Unhealthy-LimitedAvailability |
Plugin to include third party content from a Social Media Provider (easyTravel's Third Party Content Server). There is a limitation of the Social Media Provider simulated when accessing the resources and therefore the resources get delivered with a delay. PLEASE NOTE: This plugin has to be used mutually exclusive with both 'UnhealthyThirdPartyService-SocialMedia-01-Healthy' and 'UnhealthyThirdPartyService-SocialMedia-03-Unhealthy-Outage'. |
dynaTrace |
||
UnhealthyThirdPartyService-SocialMedia-03-Unhealthy-Outage |
Plugin to include third party content from a Social Media Provider (easyTravel's Third Party Content Server). There is an outage of the Social Media Provider simulated when accessing the resources and therefore the resources do not get delievered at all. PLEASE NOTE: This plugin has to be used mutually exclusive with both 'UnhealthyThirdPartyService-SocialMedia-01-Healthy' and 'UnhealthyThirdPartyService-SocialMedia-02-Unhealthy-LimitedAvailability'. |
dynaTrace |
||
UseLocationCache |
If this plugin is enabled an inefficient cache implementation for travel locations will be activated which synchronizes on all accesses and causes longer hangs when a location is created in the B2B Frontend. |
dynaTrace |
||
WebApplicationDeployment |
Plugin simulates upgrade of the web application by deployment of the new 'war' file. New .war file is deployed each time plugin is started. |
APM |
||
WorldMapDNSFailsAsia |
This plugin causes a significant slowdown of the DNS lookup in Asia. |
|||
WorldMapDNSFailsEurope |
This plugin causes a significant slowdown of the DNS lookup in Europe. |
|||
WorldMapDNSFailsUnitedStates |
This plugin causes a significant slowdown of the DNS lookup in the United States |
|||
WPOPagePlugin |
Plugin to show Web Performance Optimization Use Cases, e.g.: too many JS Files, optimized/non-optimized content loaded, caching. When enabled, there will be a link 'WPO' in the customer frontend which will provide these options. |
dynaTrace |
||
WS
MQNativeApplication |
Dispatches the credit card verification into a Websphere Message Queue instead of using the native ADK implementation. Use this plugin to demo use cases that involve WSMQ, WSMB and/or CICS. Ensure to disable all other native application implementations (DummyNativeApplication, NamedPipeNativeApplication, SocketNativeApplication). |
dynaTrace |
||
WSMQNativeApplicationError |
Simulates faulty options for the WebSphere MQ message retrieval. This will cause exceptions to happen under high load, which will lead to uncontrolled growth of the queue. The response queue will be openend exclusively for reading which will cause concurrent credit card checks to fail. This will cause the response queue to get filled up with unread messages. This problem pattern will clear all messages from the response queue when it gets disabled. |
dynaTrace |
Note: ⚠️ means that the plugin is not automatically deployed in order to allow easyTravel to run on older hardware and smaller systems. If you want to enable this plugin, please copy the respective jar-file from the folder "plugins-unused" to "plugins-frontend" or "plugins-backend" respectively and restart easyTravel.
The frontend-webapp contains the "problempatterns" folder to gather different jsp-pages which implement various defects.
Pattern |
How to enable |
Comment |
---|---|---|
HTTP 500 Errors |
Access the following link: |
This page generates an "HTTP Status 500" errorcode. The error is only generated if the parameter "showerror=true" is set. Otherwise the page renders successfully. |
Slow search |
Enabled via the link "Delay times for search" on the "About" page or directly by entering http://localhost:8080/searchdelay.jsf in the address line. |
Can do busy wait and sleep-wait. The page contains two options to change:
|
Access external URL |
Enabled via webservice, enter the following in the Browser, replace the URL: |
URL is accessed and content downloaded when a Booking is done via the UI |
The easyTravel Business Backend process provides REST interfaces for controlling plugins, i.e. listing available and enabled plugins and enabling/disabling plugins. You can get an overview by accessing http://localhost:8091/services/listServices
This can e.g. be used to create dynamically changing scenarios via external scripts.
URL |
Purpose |
---|---|
http://localhost:8091/services/ConfigurationService/getAllPlugins |
Returns all available plugins in XML format, the plugin information is encoded as "<name>:<group>:<description>" |
http://localhost:8091/services/ConfigurationService/getAllPluginNames |
Returns the name of all available plugins in XML format |
http://localhost:8091/services/ConfigurationService/getEnabledPlugins |
Returns all currently enabled plugins in XML format |
http://localhost:8091/services/ConfigurationService/getEnabledPluginNames |
Returns just the names of all currently enabled plugins in XML format |
http://localhost:8091/services/ConfigurationService /getEnabledPluginsForHost?host=<host> |
Returns the currently enabled plugins for the given host in XML format Note: This call is different for the PluginService, however you can usually send the request to a BusinessBackend which will forward the call to the PluginService correctly |
http://localhost:8091/services/ConfigurationService /getEnabledPluginNamesForHost?host=<host> |
Returns the names of currently enabled plugins for the given host in XML format Note: This call is different for the PluginService, however you can usually send the request to a BusinessBackend which will forward the call to the PluginService correctly |
http://localhost:8091/services/ConfigurationService /setPluginHost?name=<name>&host=<host>&host=<host> |
Sets a list of hosts for the given plugin <name> Note: This call is different for the PluginService, however you can usually send the request to a BusinessBackend which will forward the call to the PluginService correctly |
http://localhost:8091/services/ConfigurationService/setPluginEnabled?name=<name>&enabled=<true/false> http://localhost:7654/PluginService/setPluginEnabled?name=<name>&enabled=<true/false> |
Enable or disable a plugin |
Just will return "pong" and tell you that the Service is running |
Since the backend is at the same time the registry for plugins, in deployments with multiple backends an additional plugin service process should be used as this registry.
Scenarios with a plugin service should start it as early as possible - therefore list it in the beginning of the scenario file.
<procedure id="plugin service" host="(pluginhost)" />
In order for the backends to be aware of having to delegate to the plugin service instead of taking care of it themselves, an additional setting is required.
<procedure id="business backend" host="(backendhost)"> <setting name="config.pluginServiceHost" type="procedure_config" value="(pluginhost)" /> </procedure>
The Plugin Service offers the same functionality as the backends at this endpoint:
http://(pluginservicehost):7654/PluginService
When using the Plugin Service as registry for enabled or disabled plugins execution of plugins can also be restricted to specific hosts within a scenario.
Example:
<procedure id="plugin service" host="(pluginhost)"> <setting name="CPULoadExternalProcess" type="pluginhosts" value="hostA,hostB" /> </procedure>
09 Jan 2023 09:02 PM
Thanks for the info @Karolina_Linda