[infinispan-dev] JOPR and managing Infinispan
Heiko W.Rupp
hwr at redhat.com
Mon Jul 20 08:49:19 EDT 2009
Hi Manik,
Am 17.07.2009 um 21:26 schrieb Manik Surtani:
> So while in Stuttgart presenting at the JUG there, I had a chance to
> catch up with Heiko and discuss some details of upcoming management/
> admin features for Infinispan.
>
> Immediately, we have a JOPR plugin that allows JOPR to manage
> Infinispan instances.
Note that the plugin and Jopr infrastructure can do much more than
what we currently do with monitoring and allowing the user to run
operations -- it is also possible to show configurations in the UI and
to change the configuration of managed resources. Of course the
plugin needs to support that.
> Where this does need to improve though is that the JOPR plugin is
> built with an XML definitions file that is hand written.
>
> * This should be generated as a part of the build process, by parsing
> @ManagedAttribute and at ManagedOperation annotations in Infinispan.
> * @ManagedAttribute needs to contain more information:
> * Type. JOPR has a concept of different types:
> * informational types (labels that cannot be compared or measured),
> e.g., Version number
Those can actually be compared, but as Strings not be plotted. The
idea behind those
so called "traits" is that those metrics (strings or numbers in
origin) only rarely change,
so they are not stored on the server each time they are collected, but
only when they
have changed.
> * measurable types (numeric) that can be compared, plotted on a
> graph, visualised in other ways, e.g., cache size
> * two sub-types of measurable types: incrementing and decrementing,
> e.g., number of commits
There are actually 3 sub-types: inc, dec, dynamic. The first two mean
that the value is
strictly monotonous increasing / decreasing e.g. number of Tx
committed. Jopr is able
for those to automatically create per minute derivates.
The last one (dynamic) means that values can "jump around".
> * a timing-type, (represented in milliseconds as a long), e.g.,
> average replication time
This call time thing is actually a little different (but I probably
did not explain it well):
This has some key like e.g. a URL or a method name of a Session Bean
and values
of it are min/avg/max (3 values).
This could perhaps be used to track replication times per channel or
such.
> * This should be encapsulated as an enum and declared on each managed
> attribute so JOPR can provide better visuals on these
> * Some metrics need to be resettable to be meaningful, and the JOPR
> plugin would need to reset these whenever the metrics are collected.
> E.g., average replication time would need to be reset and recalculated
> every time JOPR picks up the last average and plots it on a graph.
> * @ManagedAttribute also needs to be able to describe units of
> measurement
> * JOPR has some allowed values here and these should be encapsulated
> in an enum. E.g., milliseconds. Allows JOPR to display the
> appropriate widgets based on the unit of data being displayed.
The available units are declared here:
http://viewvc.rhq-project.org/cgi-bin/viewvc.cgi/rhq/trunk/modules/core/domain/src/main/java/org/rhq/core/domain/measurement/MeasurementUnits.java?view=log
Heiko
More information about the infinispan-dev
mailing list