Analysis
Overview
PLATFORM_NFR_EFFICIENCY? should collect useful statistics on resources usage in Sophie 2. As memory and CPU usage is important aspect for the project, efficiency should help developers to see different module performance.
Task requirements
- Correct misspelled word EFFIECENCY (should be EFFIECIENCY) where needed.
- Research for better performace benchmark solution - currently a trial plugin is used
- Setup chosen tool and perform efficiency tests
- Define a schedule for running the tests
- Define where the results should be stored
- See implementation idea for example tools
- Make sure that the requirements from PLATFORM_NFR_EFFIECENCY_R0 are satisfied!
Task result
wiki page, maintained wiki pages
Implementation idea
http://clif.objectweb.org/ CLIF looks promising and seems to satisfy the demands.
CLIF is a modular and flexible distributed load testing platform. It may address any target system that is reachable from a Java program (HTTP, DNS, TCP/IP...) CLIF provides 3 user interfaces (Swing or Eclipse GUI, command line) to deploy, control and monitor a set of distributed load injectors and resource consumption probes (CPU, memory...) An Eclipse wizard helps programming support for new protocols. Load scenarios are defined through XML-editing, using a GUI, or using a capture tool. The scenario execution engine allows the execution of up to millions of virtual users per load injector.
Related
http://clif.objectweb.org/doc/user_manual/CLIFTutorial.pdf http://www.opensourcetesting.org/performance.php
How to demo
Show generated reports.
Design
A suitable profiling tool is the TPTP (Test and Performance Tools Platform) Project from Eclipse -http://www.eclipse.org/tptp/ It's easy to use and as its name says it is a platform, which means it can be extended in many various ways. TPTP provides :
- memory analysis
- excution time analysis
- thread analysis
- probe insertion
- reports in HTML, XML, CSV formats
- graphical reports when some extensions added
TPTP doesn't provide:
- scheduled test execution - for now
To use TPTP you need:
- Eclipse you can download it from http://www.eclipse.org
- to install TPTP. This can be done in various ways - you can directly download it from http://www.eclipse.org/tptp or you can use the Software Updates manager of Eclipse (From the menu Help->Software Updates...). Either way is chosen the requirements of TPTP must be met to get it working.
- fulfill TPTP requirements:
- - EMF (Eclipse Modeling Framework) - http://www.eclipse.org/modeling/emf/
- - GEF (Graphical Editing Framework) - http://www.eclipse.org/gef/
TPTP reports are in table view, however you can use an extension to make them graphical. There is another Eclipse project which purpose is to make graphical reports. Its name is BIRT (Business Inteligence and Reporting Tools) and you can use it with TPTP for graphical reports. This functionality however is not part of the standard TPTP package so you need to install BIRT first and then TPTP Birt Reporting extension http://www.eclipse.org/tptp/home/documents/process/development/Guide-to-TPTP-BIRT-Reports.html. Again you can do this manually or by Software Updates tools from Eclipse
Implementation
(Implementation results should be described and linked here (from the wiki or the repository))
Testing
Comments
The trial tool has not been used, the task design is wrong. --kyli