Re: [abacus] Accommodating for plans in a resource config

Jean-Sebastien Delfino

On Fri, Dec 11, 2015 at 4:47 PM, Benjamin Cheng <bscheng(a)> wrote:

Abacus will want to support plans in its resource config (as mentioned in
issue #153

Starting with a basic approach, there would be a plans property(an array)
added to the top-level of a resource config. The current metrics and
measures properties would be moved under that plans property. This will
allow them to be scoped to a plan.

+1 that makes sense to me as different plans may want to use different
measures, metrics, and metering, accumulation and aggregation functions.

Despite moving metrics and measures under plans, there will be a need of a
common sets of measures/metrics for plans to fall back on. This comes into
play in the report for example when summary/charge functions are running on
aggregated usage across all plans.
Not sure about that. AIUI with that refined design plans can now use
different metrics so usage gets aggregated at the plan level rather than
the resource level (as it wouldn't make sense to aggregate usage from
different plans metered using different metrics). That means that the
aggregation, summary and charge functions only apply to the plan level
rather than the resource level.

In terms of the common section, there's of a choice of leaving
measures/metrics on the top level as the common/default or putting those
under a different property name.

I think there's a couple of things to consider here:
-Defaulting for a plan to the common section if there is no formula
defined. This may require the plan to point to the common section or logic
that would automatically default to the common section (and subsequently
the absolute resource config defaults that are already in place).
-If there's no plan id passed(for example some of the charge/summary
calls), they would need to go this common section.

Assuming that my above statement that 'aggregation, summary and charge
functions only apply to the plan level' is correct, there's no 'common
section' anymore, so no problem with processing usage in that non-existent
common section anymore :) Makes sense?

- Jean-Sebastien

Join { to automatically receive all group messages.