Transformer to measure rate of change

Addresses BP transformer-unit

Provide a new transformer to emit derived counters that represent
the rate of change of existing counters, by retaining the previous
volume and timestamp.

This transformer will supercede the direct emission of derived counters
by pollsters (e.g. cpu_util calculated by the compute CPUPollster).

The target counters are identified either by name.

The scaling can be expressed as either a straight multiplicative
factor or as a string expression to be eval'd.

Configured as per usual via the pipeline.yaml, for example:

    counters:
        - "cpu"
    transformers:
        - name: "rate_of_change"
          parameters:
              target:
                  name: "cpu_util"
                  unit: "%"
                  type: "gauge"
                  scale: "100.0 * (10**9 / resource_metadata.get('cpu_number', 1))"
              replace: False

Change-Id: I0affa8d13a4fd72db08f818db809023d2f74217a
This commit is contained in:
Eoghan Glynn
2013-07-11 15:28:06 +01:00
parent a26b7cfbe6
commit 5ace235107
3 changed files with 191 additions and 2 deletions

View File

@@ -76,6 +76,7 @@ ceilometer.compute.virt =
ceilometer.transformer =
accumulator = ceilometer.transformer.accumulator:TransformerAccumulator
unit_conversion = ceilometer.transformer.conversions:ScalingTransformer
rate_of_change = ceilometer.transformer.conversions:RateOfChangeTransformer
ceilometer.publisher =
test = ceilometer.publisher.test:TestPublisher