A question/comment about the scope of the schema or maybe the architecture. Assuming the services will provide the instrumentation to populate the raw metric data, it seems likely that you will need to define an interface between the services/agents <br>
that are providing the data and the metering system which stores the generated metric data in the database (as opposed to having the services write directly to the DB). Is the schema intended to be this kind of interop format between the services and <br>
the meter's datastore or just the end result of the storage?<br><br>Thanks,<br>Dan Dyer<br><br><div class="gmail_quote">On Thu, May 3, 2012 at 11:10 AM, Loic Dachary <span dir="ltr"><<a href="mailto:loic@enovance.com" target="_blank">loic@enovance.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
On 05/03/2012 02:22 PM, Loic Dachary wrote:
<blockquote type="cite">
Hi,<br>
<br>
The metering project team holds a meeting in <tt>#openstack-meeting</tt>,
Thursdays at <a href="http://www.timeanddate.com/worldclock/fixedtime.html?hour=16&min=0&sec=0" target="_blank">1600
UTC</a>. Everyone is welcome. <br>
I propose an agenda based on the discussions we had on this list.<br>
<br>
<a href="http://wiki.openstack.org/Meetings/MeteringAgenda" target="_blank">http://wiki.openstack.org/Meetings/MeteringAgenda</a><br>
Topic : schema and counter definitions<br>
<br>
* counter definitions<br>
* Proposed <a href="http://wiki.openstack.org/EfficientMetering#Counters" target="_blank">http://wiki.openstack.org/EfficientMetering#Counters</a><br>
* schema definition <br>
* Proposed <a href="http://wiki.openstack.org/EfficientMetering#Storage" target="_blank">http://wiki.openstack.org/EfficientMetering#Storage</a><br>
* discuss storage assumptions<br>
* the storage will store all events<br>
* no aggregated value is permanently stored<br>
* discuss API assumptions<br>
* the API provide a sum() function to aggregate values<br>
* the API may transparently store results of the sum function
in a cache<br>
* discuss event collection<br>
* events are collected from a components when possible<br>
* ceilometer agent is installed on a node when the a component
does not provide the value<br>
* contribute to the component instead of developping a
ceilometer agent plugin<br>
* engaging discussions with core components<br>
* nova<br>
* cinder<br>
* glance<br>
* swift<br>
* quantum<br>
* open discussion<br>
<br>
</blockquote>
For the record, the first two points used all the time but that was
the goal of the meeting. The other points would have been nice to
discuss but can each be turned into a mailing list thread ;-)<br>
<pre>==========================
#openstack-meeting Meeting
==========================
Meeting started by dachary at 16:00:16 UTC. The full logs are available
at
<a href="http://eavesdrop.openstack.org/meetings/openstack-meeting/2012/openstack-meeting.2012-05-03-16.00.log.html" target="_blank">http://eavesdrop.openstack.org/meetings/openstack-meeting/2012/openstack-meeting.2012-05-03-16.00.log.html</a>
.
Meeting summary
---------------
* actions from previous meetings (dachary, 16:00:36)
* creation of the ceilometer project (dachary, 16:00:36)
* The repository for the ceilometer project has been created
(dachary, 16:00:36)
* LINK: <a href="https://github.com/stackforge/ceilometer" target="_blank">https://github.com/stackforge/ceilometer</a> (dachary, 16:00:36)
* and the first commit was successfully reviewed and merged today
<a href="https://review.stackforge.org/#/c/25/" target="_blank">https://review.stackforge.org/#/c/25/</a> (dachary, 16:00:37)
* meeting organisation (dachary, 16:01:03)
* This is 1/5 meetings to decide the architecture of the Metering
project <a href="https://launchpad.net/ceilometer" target="_blank">https://launchpad.net/ceilometer</a> (dachary, 16:01:03)
* Today's focus is on the definition of the counters / meters and the
associated schema for the storage (dachary, 16:01:03)
* It is the conclusion of the discussions held on the mailing list and
the goal is to make a final choice that will then be implemented.
(dachary, 16:01:03)
* The meeting is time boxed and there will not be enough time to
introduce inovative ideas and research for solutions. (dachary,
16:01:03)
* The debate will be about the pro and cons of the options already
discussed on the mailing list. (dachary, 16:01:03)
* LINK: <a href="https://lists.launchpad.net/openstack/msg10810.html" target="_blank">https://lists.launchpad.net/openstack/msg10810.html</a> (dachary,
16:01:03)
* counter definitions (dachary, 16:02:10)
* Proposed <a href="http://wiki.openstack.org/EfficientMetering#Counters" target="_blank">http://wiki.openstack.org/EfficientMetering#Counters</a>
(dachary, 16:02:10)
* ACTION: dachary fix the note for net_float still talks about "number
of floating IPs" (dachary, 16:09:18)
* ACTION: jd___ include Number of object in Swift, Number of
containers in Swift, Number of GET/HEAD/PUT/POST requests in Swift
in the table (dachary, 16:10:11)
* ACTION: dachary add note about the fact that the resource_id for the
object count is the container_id (dachary, 16:21:44)
* LINK: <a href="http://wiki.openstack.org/EfficientMetering#Counters" target="_blank">http://wiki.openstack.org/EfficientMetering#Counters</a> is agreed
on, provided the actions listed above are carried out. (dachary,
16:25:35)
* ACTION: jd___ document the resource_id for each counter (dachary,
16:30:33)
* ACTION: jd___ describes the general table schema and then something
that says for each counter exactly what goes in the fields of that
table and show how secondary field counters are recorded in the in
the schema too (dachary, 16:33:27)
* AGREED: s/counter/meter/ (dachary, 16:37:11)
* LINK: <a href="http://wiki.openstack.org/EfficientMetering#Counters" target="_blank">http://wiki.openstack.org/EfficientMetering#Counters</a> is agreed
on, provided the actions listed above are carried out. ? (dachary,
16:37:38)
* AGREED: <a href="http://wiki.openstack.org/EfficientMetering#Counters" target="_blank">http://wiki.openstack.org/EfficientMetering#Counters</a> is
agreed on, provided the actions listed above are carried out. ?
(dachary, 16:38:52)
* schema definition (dachary, 16:39:05)
* Proposed <a href="http://wiki.openstack.org/EfficientMetering#Storage" target="_blank">http://wiki.openstack.org/EfficientMetering#Storage</a>
(dachary, 16:39:05)
* ACTION: jd___ clarify / document the fact that the secondary field
or the resource_id field carries the IP/VIF for the meters related
to network so that they can be "per IP" (dachary, 16:40:42)
* ACTION: nijaba describe the source field rationale and use case,
initiate a thread to validate its use. (dachary, 16:50:26)
* AGREED: the fields should be source (to be discussed), user_id,
project_id, resource_id, counter_type, counter_volume,
counter_duration, counter_datetime, secondary type / payload,
message_signature, message_id ? (dachary, 16:53:20)
* ACTION: jd___ update the documentation (dachary, 16:53:48)
* ACTION: jd___ document the resource_id for each counter (dachary,
16:54:10)
* discuss API assumptions (dachary, 16:54:51)
* open discussion (dachary, 16:55:19)
Meeting ended at 17:00:05 UTC.
Action items, by person
-----------------------
* dachary
* dachary fix the note for net_float still talks about "number of
floating IPs"
* dachary add note about the fact that the resource_id for the object
count is the container_id
* jd___
* jd___ include Number of object in Swift, Number of containers in
Swift, Number of GET/HEAD/PUT/POST requests in Swift in the table
* jd___ document the resource_id for each counter
* jd___ describes the general table schema and then something that
says for each counter exactly what goes in the fields of that table
and show how secondary field counters are recorded in the in the
schema too
* jd___ clarify / document the fact that the secondary field or the
resource_id field carries the IP/VIF for the meters related to
network so that they can be "per IP"
* jd___ update the documentation
* jd___ document the resource_id for each counter
* nijaba
* nijaba describe the source field rationale and use case, initiate a
thread to validate its use.
</pre><span class="HOEnZb"><font color="#888888">
<br>
<pre cols="3000">--
Loïc Dachary Chief Research Officer
// eNovance labs <a href="http://labs.enovance.com" target="_blank">http://labs.enovance.com</a>
// ✉ <a href="mailto:loic@enovance.com" target="_blank">loic@enovance.com</a> ☎ <a href="tel:%2B33%201%2049%2070%2099%2082" value="+33149709982" target="_blank">+33 1 49 70 99 82</a>
</pre>
</font></span></div>
<br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br>