New branch 'jsanda/metrics-rhq' available with the following commits:
commit bb4228e9b53bf5cc3565455c912ac8a047e469d3
Author: John Sanda <jsanda(a)redhat.com>
Date: Tue Jun 26 10:22:32 2012 -0400
build xml-schemas with metrics profile to pick up metrics plugin schema changes
commit bb798aa90165736e6d3af3c4acacf92d1474bce0
Author: John Sanda <jsanda(a)redhat.com>
Date: Sun Jun 24 07:58:55 2012 -0400
Updating call to findDataForContext to measurement schedule
commit afeee4125ec0e198f64f3e51ce930117e02c862f
Author: John Sanda <jsanda(a)redhat.com>
Date: Sat Jun 23 07:13:37 2012 -0400
fixing tests to pass schedule instead of definition id
commit 4f5e46fae153509f0a817b0b90cc4a3d11f74551
Author: John Sanda <jsanda(a)redhat.com>
Date: Fri Jun 22 22:35:05 2012 -0400
Changing signature of findDataForContext to take a MeasurementSchedule
The existing, legacy implementation takes a definition id and performs a
join to get the schedule. For the Cassandra implementation I am
working on metric data is keyed off of schedule id. By changing
findDataForContext to take a MeasurementSchedule instead of the
definition id, both the schedule id and definition id can be obtained
and passed to respective implementations.
commit dd0be007806990f5aa73022b0c9ce762bdf187f7
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Jun 21 22:23:14 2012 -0400
Adding test to verify that 1 hr data is rolled up into 6 hr table
This is also the initial commit for DateTimeService which is nothing
more than a wrapper around getting the current time to facilitate
testing. It is used in MeasurementCompressionManagerBean and in tests so
that I can more easily test across different time boundaries and
intervals.
commit 2c4dcf23d4e7e87deb73a74e7dae28c9f891dd2d
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Jun 21 14:49:51 2012 -0400
Adding/updating more tests
Adding a test for fetching data points for 1 hour data and refactoring a
test to verify raw data is aggregated.
commit 084b3cc72936bbf0c161aece47acea2ecc7937e9
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Jun 20 21:41:59 2012 -0400
Getting rid of MeasurementAggregate interface
I introduced the MeausrementAggregate interface to facilitate populating
the numeric, roll up tables for testing. There is already a class in
server/jar of the same name, and this creating some confusion. Since the
class I introduced is needed for testing, I renamed the impl to
AggregateTestData to better reflect that. I also moved it to the package
where the other metrics plugin classes are. I do not want to the
MeasurementAggregate in server/jar or classes that consume it to avoid
changes that can otherwise be avoided.
commit 2e46d04a1ce8251792737f0d95d166ae3f1c0c99
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Jun 20 20:26:17 2012 -0400
Refactoring to make MetricsServerPluginTest more plugin driven
Several changes are included in this commit to make the metrics tests
more plugin driven. In other words, testing will be black box through
the plugin interface so that the tests can be run again different plugin
implementations.
The metrics plugin descriptor schema has been extended such that
descriptors are now required to specifya <plugin-test-delegate> element.
plugin-test-delegate declares a class that should implement
MetricsServerPluginTestDelegate interface. This class is used during
test runs to assist with set up/tear down work. It encapsulates plugin
implementation specific details for testing.
The following method from MeasurementDataManagerBean,
List<MeasurementDataNumericHighLowComposite> findDataForContext
has been added to the plugin interface. This method provides the data
points for the graphs. A couple tests have been added for this method so
far, one for accessing raw data and one for accessing 1 hour data.
commit 56ca87b006119d35ce72896d021f2315dbcc9b14
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Jun 20 01:10:50 2012 -0400
Adding a test for fetching raw data points
commit d6cec4fb21cdf47893a55fb063fb58014e55efc1
Author: John Sanda <jsanda(a)redhat.com>
Date: Wed Jun 20 00:26:41 2012 -0400
Moving findDataForContext method into metrics server plugin API
commit 8312a25a3c91e7ed9cdec8abda98b45bc3e73d64
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Jun 18 09:44:17 2012 -0400
[BZ 786614] Add some error logging if we cannot find a resource container
We should not be in state where the method getAbsoluteBaseDirectory is
passed a resource id that does not have a corresponding resource
container in the local inventory. If that does happen, we will now log
an error message that includes the resource id and drift definition to
facilitate further debugging. Then an IllegalArgumentException is
thrown.
commit 272f2918a0a764f8c61b5fadec9e5afc23f4d96a
Author: John Sanda <jsanda(a)redhat.com>
Date: Fri Jun 15 07:03:15 2012 -0400
Initial commit for TraitMeasurementCriteria
Extrating out TraitMeasurementCriteria inteface and providing a non-JPA
specific impl in GenericTraitMeasurementCriteria.
commit 3c3ddaf22ad41f2adfaabf7c5cb1d9cc0740e150
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Jun 14 07:12:22 2012 -0400
[BZ 831603] Do not allow plugin defined templates to be deleted
DriftTemplateManagerBean now throws an IllegalArgumentException if you
try to delete a plugin defined template. The delete action in the
templates ui is now disabled for plugin defined templates.
commit 0d1c9b5ba59769e81b011dd3e601d0b611dce9b2
Author: John Sanda <jsanda(a)redhat.com>
Date: Tue Jun 12 15:56:19 2012 -0400
[BZ 823691] parameterize properties in agent config files
commit bd7f77da94be7464ec63dd4287923159eac219f3
Author: John Sanda <jsanda(a)redhat.com>
Date: Tue Jun 12 15:44:20 2012 -0400
[BZ 823691] Parameterize hard coded ports
commit aac611cbd375aa88e6633a3c535740b0a93e0a5e
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Jun 11 14:46:20 2012 -0400
Adding support for switching active metrics server plugin at runtime
commit dda7a63a407df4a77385df79716f5c25c522d534
Author: John Sanda <jsanda(a)redhat.com>
Date: Sun Jun 10 21:25:49 2012 -0400
Adding resourceId property to TraitMeasurement inteface
A prior commit introduced some changes to better support
denormalization in the data model. This is a continuation of that
effort. The resource id is needed in addition to the schedule and
measurement def ids.
commit 87d28f93563a46a937bda29f498b35ad1217102a
Author: John Sanda <jsanda(a)redhat.com>
Date: Sun Jun 10 17:48:48 2012 -0400
Adding impl for findTraitsByCriteria
commit cf757ec67f39e24d239ba8cec8dcafd46526a053
Author: John Sanda <jsanda(a)redhat.com>
Date: Sun Jun 10 15:17:21 2012 -0400
Initial commit for TraitMeasurement and updating TraitsView to use it
MeasurementDataTrait implements TraitMeasurement and TraitsView (for an
individual resource) has been refactored to use TraitMeasurement instead
of the JPA specific MeasurementDataTrait. Most of the refactoring was
done in the data source classes. As part of this prototype effort, I
want to first focus on resource level view/operations, so the
refactoring was done in such a way to leave TraitsView and
TraitsDataSource for the group UI intact. It still directly uses
MeasurementDataTrait.
This is also the initial commit for MetricsGWTService which is a wrapper
for MetricsManagerBean.
commit cf526b326a5ebc275dbf15d4192be5bb811367f4
Author: John Sanda <jsanda(a)redhat.com>
Date: Fri Jun 8 21:10:57 2012 -0400
Making changes to better support denormalization in the data model
This commit is primarily focused on the data model for
MeasurementDataTrait, though the changes likely will apply to other
types of MeasurementData as well. In the resource traits view in the UI
we perform a join to fetch fields from the measurement def with
which the trait is associated. A lot of NoSQL databases do not have any
support for joins; so, this commit introduces some changes that will
prevent having to query both the metrics (presumably nosql) database as
well as the rhq database to get the data to display in the traits view.
I saw two ways to go about persisting the measurement def data along
with the trait when the server receives the measurement report. The
first way would be to load the measurement defs when persisting the
report data. I elected not to go that route because that could
potentially be a lot of reads on what is already a performance intensive
operation.
I instead decided to add the necessary data to
MeasurementScheduleRequest. When a plugin receives a schedule request to
obtain a metric value, the plugin component creates the MeasurementDataTrait
object passing the request as an argument. The request is now persisted
as a field in the trait object. When the report is sent to the server,
all the data needed for denormalization is already there which allows us
to avoid any extra database hits.
commit 0a96ac51b81e6eb44f6fed7b44915e53e75ffe3a
Author: John Sanda <jsanda(a)redhat.com>
Date: Tue May 22 00:57:33 2012 -0400
Adding test for data compression
This commit has a couple changes. It add a new method to the server
plugin interface, calculateAggregates which correspsonds roughly to
MeasurementCompressionManagerBean.compressPurgeAndTruncate. And this
commit also adds an initial test for generating aggregates in the 1 hour
table.
commit 5eb9b2e6766bb495f6bf93cd9130bd93ede960d1
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu May 17 15:31:51 2012 -0400
putting some initial test infrastructure in place
This commit adds support for writing tests against the rhq metrics
plugin. It sets up the necessary, minimal inventory and also includes
and initial test to verify that merging a measurement report adds
numeric data to the database.
commit 7afd08eb279a60635449b54c0e5bab69ce831432
Author: John Sanda <jsanda(a)redhat.com>
Date: Fri May 11 07:52:02 2012 -0400
Initial commit for metrics server plugin
This initial commit is the first stab at encapsulating existing metrics
functionality in a server plugin. The ultimate goal is to be able
encapsulate functionality in a server plugin such that the
implementation can be seamlessly switched out for something like a
Cassandra or MongoDB backed plugin.
Show replies by date