Comment 15 for bug 1394228

Revision history for this message
Igor Degtiarov (idegtiarov) wrote : Re: [Bug 1394228] Re: Arithmetic transformer not working on multiple meters

Thank you Claudio! :D
-- Igor

On Fri, Dec 12, 2014 at 1:18 PM, Claudio <email address hidden> wrote:
> Good job Igor! ;)
>
> --
> You received this bug notification because you are a bug assignee.
> Matching subscriptions: Igor Degtiarov, Igor Degtiarov
> https://bugs.launchpad.net/bugs/1394228
>
> Title:
> Arithmetic transformer not working on multiple meters
>
> Status in OpenStack Telemetry (Ceilometer):
> Fix Committed
>
> Bug description:
> The poll_and_publish method of a PollingTask object (file agent.py) on
> each iteration gets the samples from the current pollster and injects
> them into the pipeline. Here, samples are transformed before getting
> published.
>
> The arithmetic transformer needs to be applied on samples from every meters on which the transformer is defined. But in the poll_and_publish method, only samples from a single meter per iteration are polled (and fed to the arithmetic transformer), so I get this error:
> "Unable to perform calculation, not all of {_disk_write_bytes_ESC, _disk_read_bytes_ESC} are present"
>
> Here is an extract from my pipeline.yaml file:
>
> sources:
> [...]
> - name: disk_source
> interval: 600
> meters:
> - "disk.read.bytes"
> - "disk.read.requests"
> - "disk.write.bytes"
> - "disk.write.requests"
> sinks:
> - disk_sink
> - disk_read_write_sink
> [...]
> sinks:
> [...]
> - name: disk_read_write_sink
> transformers:
> - name: "arithmetic"
> parameters:
> target:
> name: "disk.read.write.bytes"
> unit: "B"
> type: "cumulative"
> expr: "2*$(disk.read.bytes) + 2*$(disk.write.bytes)"
> [...]
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ceilometer/+bug/1394228/+subscriptions