[openstack-dev] [Ceilometer][Metering] Metadata on Meter table - use cases from StackTach ...
julien at danjou.info
Wed Jan 30 15:12:48 UTC 2013
On Wed, Jan 30 2013, Sandy Walsh wrote:
> Actually ... what if the json payload of the raw event was stored as
> metadata on a Meter?
What do you have in mind: storing the whole payload, or storing
individual fields of the payload? Both looks different to me.
Currently we do store a lot of elements from the payload, but not all,
because we don't have a use case for a lot, like the request_id.
If your need is to store more components from the original payload into
the metadata, that sounds like something possible.
> Is that permitted in Ceilometer?
Yes, it is. You could store that as a string in the key/value of a
Usefulness and worthiness of this feature is still discutable.
> If so, this gets us back to a bigger and more interesting question:
> If we go with Metadata table + a Meter table we would have to index both
> the Key and Value columns of the Metadata table.
> For example:
> Some metadata might be:
> "event_name" : "compute.instance.run_instance" and
> "request_id" : "xxxx-xxxx-xxxx-xxxx"
> And we would want to see all <Foo> meters for request_id = 'xxxx-" and
> event_name = "...."
> Having something in Metadata other than primitive data types would
> result in a storage nightmare.
Yes, that's why we ruled it out.
> Which also brings up the point about storing multiple types in the Value
> column under SQL (no-sql is fine). It would have to be a tagged union /
> variant record to say which value is being used:
> + key : string
> + data_type : enum
> + integer_value : int
> + float_value : float
> + string_value : string
> + datetime_value : datetime
> + blob_value : memo
> So, I guess we could apply indices only the meaningful data type columns.
Looks like an idea, indeed.
// Free Software hacker & freelance
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 835 bytes
Desc: not available
More information about the OpenStack-dev