Skip to content

diagnoseIT/diagnoseIT.ppinject

Repository files navigation

This repository contains the implementation and evaluation setup of the performance problem 
injector presented in the following publication: 

Philipp Keck, André van Hoorn, Dušan Okanović, Teerat Pitakrat, and Thomas F. Düllmann: 
Antipattern-Based Problem Injection for Assessing Performance and Reliability Evaluation Techniques.
In Proceedings of the 8th International Workshop on Software Aging and Rejuvenation (WoSAR 2016), 
co-located with 27th International Symposium on Software Reliability Engineering (ISSRE 2016). 
IEEE, October, 2016, Ottawa, Canada. 
The publication is available via http://diagnoseit.github.io/publications.html

The directory contents are based on the files corresponding to the example
presented in Appendix B (Java EE Servlet Container Example) of 
the Kieker user guide (http://kieker-monitoring.net/documentation/).
See the user guide (kieker-<version>_userguide.pdf) for details.

The following changes have been made to the Kieker example:
- The namespace de.uni_stuttgart.iste.ppi has been added and contains the code for
  the Performance Problem Injection. Note that this code would typically reside in a
  separate library and is only included in the same project to simplify the build process.
- The src/main/resources/META-INF/aop.xml instantiates TheRampAspect as an example.

The code is in the "jpetstore-6-mybatis-jpetstore-6.0.1" folder.
The folder "jetty" contains the server.
Build and deploy the example with "ant build-all" on the command line.
Start the server with " java -jar start.jar" in the "jetty" folder.

A "TestPlan.jmx" is provided to be used with JMeter. A JMeter version is included in 
"apache-jmeter-2.9/"- When run against the server, it will store its results in the 
working directory in a file called "results-default.jtl". 
The graphs shown in the paper have been created by filtering for rows with 
"label" == "View Product" and visualizing the "elapsed" values (duration of the 
respective request) over the "allThreads" value (number of concurrently active threads).

About

Performance Problem Injection Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published