Improvements for the aggregator POM
* merged pom.xml and pom-links.xml (use -Dzip-links), removed pom-jdg.xml
* set of products can be built independently (e.g. -Dno-hazelcast or -Djdg)
* removed redundancy using macrodef and ant-contrib: for, if
Bumped the versions in modules not used for release
Configuration attributes are injected to the wrapper (instead of passing properties in setUp)
Removed duplicate EHCacheWrapper
Evaluator replaces ConfigHelper
* properties with default are specified as ${property:default}
* can replace properties and expressions within text
* expressions are infix, not postfix
Dropped Terracotta3 plugin
The plugin was causing some confusion. It should be a client connecting externally ran Terracotta servers, which does not fit to the general way of RadarGun use. Also, Terracotta solutions are using EHCache API instead.
RadarGun 2.0 initial work
* new configuration
* removed local benchmark -> distributed benchmark can be executed in in-VM (master + 1 slave)
* communication refactored to Local/RemoteSlaveConnection and RemoteMasterConnection
* each group can use different plugin (product), config file and other properties
* Master/SlaveState now host information about configuration and cluster
TODO: Reporting is broken now (GenerateReportStage is not executed)
Refactoring of stages
* removed Stressors (as a concept), logic moved to stages
* statistics moved to separate package
* stages moved to packages according to used features
* refactored logics out of stresstest stage to separate classes
Replaced the concept of CacheWrapper with Service and Traits
* The Service is singleton object (only once on each slave at every moment) which provides traits, using the @ProvideTrait annotation
* Traits implement some functionality, not specific to cache
* Stages can use @InjectTrait to get the instance of trait provided by the service, or call slaveState.getTrait(MyTrait.class)
* Cache traits are using methods from JSR-107 Cache spec
Statistics & Reporting
* all stats now account either to:
** tests - these provide operations statistics, can include more iterations
** timeline - information about events / property values during whole benchmark execution
* operations are generic: any call to trait's method may be an operation
* reporting moved to separate modules
** providing default reporter module with CSV and HTML reporters
* displaying histograms is TODO
* operations for MapReduce and DistExec are TODO
(+ minor fixes in other parts)
Updated scripts and default configurations
* fixing issues with running bin/dist.sh | bin/local.sh
Lifecycle related changes
* renamed the stages (StartCluster -> ServiceStart, *Kill* -> *Stop*) and updates properties according to that
* renamed (Start|Stop)* -> *(Start|Stop)
* added lifecycle listeners, registered on SlaveState
Renamed module radargun-framework to radargun-core
* Added JavaDoc
* added missing Evaluator.parseString() to PropertyHelper (properties were not evaluated)
Updated versions for Infinispan 7.0.x and JGroups 3.5.x
Stages (and generally anything other) can be in different modules
* these are still loaded by the core class loader
* implemented example stage in example module
More JavaDoc
Relicensed to Apache Software License 2.0
* removed boilerplate notices
* unified the @author tags (John Foobar &lt;john@example.com&gt;)
Fixed compilation that was missing import statement
Always run ScenarioCleanup (even if previous stages failed)