In [most likely] RHQ 4.4 there will be several improvements to
Availability collection and handling. One of the major changes is
/Prioritized Availability Collection/.It means plugin developers can
optimize their types to set out of box availability collection
intervals. And users can alter the interval at template/group/resource
granularities. The inherent difficulty, like other default metric
enablement/collection interval settings, is how to decide what the
settings should be.Out of box we want to be conservative while still
being useful.
There are two topics that need discussion, the built-in defaults and how
to approach the plugin-specific overrides.
_*Built-In Defaults*_
The current defaults are based on category; server types are set to 1
minute and service types to 5 minutes.This actually increases avail
checking as previously everything was 5 minutes. These defaults are not
set in stone, they are just numbers I picked.
The 1 minute server default aims to increase the avail checking on types
that are more likely to be important. This affects a small percentage
of types and so far everyone has informally agreed that this seems like
a good setting. Of course plugin descriptors can override the default.
The 5 minute service default simply maintains the default avail scan
period from earlier versions, giving a nod to backward compatibility.
This setting can easily be debated. Increasing the default to, say 10
or 15 minutes, would give immediate performance benefit out of box. As
the majority of resources would be checked less often. This raises a
few fundamental questions: Is slow avail checking even useful? is
backward compatibility even relevant here? Is a slow default a good
idea seeing that plugins can easily override the defaults, and users can
further optimize their settings?
Note also that availability collection can now be disabled on a type,
out of box. Which means that it will immediately be assigned the avail
of its parent. This is likely appropriate for any component that simply
returns UP in its getAvailability() implementation.
*_Plugin-specific Overrides_*
To be clear, it is a goal that our most critical plugins be optimized
out of box to better today's performance, increase avail checking for
the most important resources and lessen or disable avail checking for
less important resources. The question is, who knows what these
settings should be? How do we go about making these setting changes?
Please chime in with your thoughts.