The AlarmCreationBolt now caches AlarmDefinitions and Alarms for
quicker evaluation of incoming metrics. Incoming metrics end up in one
of these buckets:
1. Fits into an existing Alarm
2. Causes a new Alarm to be created
3. Already exists in an existing Alarm
All of these require the analysis of existing Alarms. I tried writing SQL
to do this analysis but it just wasn't fast enough so instead I added
the caching of the Alarm Definitions and Alarms.
The AlarmCreationBolt now needs to process Alarm deletion message so
that stream from the EventProcessingBolt had to be hooked up to the
AlarmCreationBolt.
The AlarmCreationBolt used to incorrectly handle
Alarm Definition Updated events.
Improved the queries in AlarmDAOImpl to be more efficient by using
fewer queries intsead of multiple queries per Alarm. However the
AlarmDAOImplTest now requires a real mysql instance since the h2
emulator doesn't understand "group_concat". Mark that test as
only run for target integration-test
Turn on tests for target integration-test
Previous code was not reusing Metrics from existing Alarms
all times it should have. Added test for this case
Changed info messages to debug to lessen normal logging.
Added more tests of existing and new functionality
Added some timing code for debug
Removed unused code
Added more debug logging code
Added reference to API doc for Alarm Definitions in README
Change-Id: Ied9841ecde7608b9eb1eb9c110b73b079ede71bc
Modified build to work with maven 2
Modified so it will download monasca-common jars
from tarballs.openstack.org if the user is jenkins, otherwise the
user is told to build and install monasca-common
Had to move the source code to the new thresh directory so that a
separate module could do the download before dependencies would
be checked by maven
Had to explicitly set the project name in the control file, not sure
why
Change-Id: Ic4d02478b078aad7c1f0eebda2ea2def8d9edf1a