<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<div class="moz-cite-prefix">On 27/01/14 23:41, Julien Danjou wrote:<br>
</div>
<blockquote cite="mid:m2vbx5r9ju.fsf@danjou.info" type="cite">
<pre wrap="">On Mon, Jan 27 2014, Adrian Turjak wrote:
</pre>
<blockquote type="cite">
<pre wrap="">I created a gauge metric that is updated via notifications, and a pollster.
The data from both of those needs to be transformed in to a cumulative
metric. The transformer object works as intended, but the issue is that
while my pollster/notifications combo does create samples for the same named
metric, two different transformer objects are being created for each data
input for the metric.
</pre>
</blockquote>
<pre wrap="">
If I understand correctly what you're trying to do, it won't work
unfortunately. Transformers are run _before_ publishing to a collector,
and are local to a pipeline inside a Ceilometer deamon. The deamons
handling the pollsters and the notifications are two different programs,
and therefore don't communicate.
</pre>
</blockquote>
<br>
Is there a way around this or some other approach because unless I
can get both sets of data the final calculations are not useful.
Unless I can somehow force a notification on an interval... but that
is likely impossible, or requires work in Nova.<br>
<br>
What I've made is a gauge metric that represents the state of a VM
at a given time so that I can then do accurate uptime calculations
taking into account suspended states and shutdowns. The state metric
I've made is in a blueprint here (and there is a link to my code):<br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<a
href="https://blueprints.launchpad.net/ceilometer/+spec/state-meter">https://blueprints.launchpad.net/ceilometer/+spec/state-meter</a><br>
<br>
Since I need consistent state data as well as accurate transitional
data it needs to be both notification and pollster. What my
transformer then does is build a cumulative value of uptime based on
the state information, and allows a user to define what states they
care about for billing via the pipeline parameters. <br>
<br>
Is there a way to transform data once it reaches the collector? Or
would an approach be to build a separate agent to transform this,
and likely other data, into usable billing data to post to the
collector?<br>
<br>
<br>
</body>
</html>