[Hawkular-dev] Labeling needs ?
John Sanda
jsanda at redhat.com
Mon Oct 31 23:11:17 EDT 2016
> On Oct 31, 2016, at 5:59 PM, Matt Wringe <mwringe at redhat.com> wrote:
>
> ----- Original Message -----
>> From: "John Sanda" <jsanda at redhat.com>
>> To: "Discussions around Hawkular development" <hawkular-dev at lists.jboss.org>
>> Sent: Monday, 31 October, 2016 10:22:19 AM
>> Subject: Re: [Hawkular-dev] Labeling needs ?
>>
>>
>>
>>
>>
>> On Oct 31, 2016, at 3:39 AM, Heiko W.Rupp < hrupp at redhat.com > wrote:
>>
>>
>>
>> Hey,
>>
>> we have labels in Hawkular-metrics right now, but apparently there are
>> use cases that are not yet covered (and I know Matt has more)
>>
>> * Listing keys of tags. Currently one has to know the available keys to
>> be able to list the available values
>
> hmm, interesting, we can list all the values values of a key, but not get the list of the key itself?
That is correct. We simply have not had a need for it thus far. Adding endpoints to query tags is straightforward. In fact, it would be a great ticket to work on for anyone looking to get involved in the project.
>
>> * tag values are currently a comma-separated string and not an array,
>> which may have implications on allowed characters and escaping of
>> separators
>
> The problem with OpenShift is that we have hierarchical data that we would like to store as tags so that we can perform queries on them.
>
> Most of our data that we store as tags are simple key:value pairs, where the value is a string. This works nicely with how tags work.
>
> But the more important tag we want to keep track of is labels, and in this case the value is an array of key:value pairs, which doesn't work too nicely. We store this as a comma separated string and its possible to use regex in this case, but it starts to be really messy to write and is prone to errors. Its really not a great solution and looks really bad when people have to write these complex queries which should be really easy.
>
>> * Post-tagging of data points (tagging could be provoked by another
>> system that e.g. parses log files and sees an anomaly) The idea behind
>> it is that one should be able to create tags at certain points in time
>> for a single metric or a list of metrics to uniquely identify that point
>> in time for queries (relative performance of two versions of a
>> deployment).
>
> This feels like an 'event' what could be marked. I don't know if it needs to be applied to a datapoint directly, or stored in a separate list, or if it even needs to be stored in Hawkular Metrics.
>
> The main thing I think is to be able to query the list of events which have occurred over a specific time frame.
>
> OpenShift has a lot of events it can gather, it could be really cool if we could display these events as marks in the graphs. I don't know if we can use Hawkular Metric string metrics to store these, or something in Alerts to do it. Heapster has a component to gather these events for us (https://github.com/kubernetes/heapster/tree/master/events <https://github.com/kubernetes/heapster/tree/master/events>).
>
>> Data points are immutable by design. Once a row is written it is never
>> updated. This allows for optimizations with compaction and deletions. We
>> need to take that into consideration with post-tagging. Using a different
>> table or tables might be a better option.
>
> Do individual data points have tags applied to them? Or only the overall metric?
>
> We may want to keep track of historic changes to tags. I know in OpenShift we store values in tags which can change at any point in time but I don't believe we can query what the values was at time X.
>
When the oVirt team was looking at Hawkular Metrics, they too were asking for a history of tag changes. Would this be a generally useful feature?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hawkular-dev/attachments/20161031/c8495989/attachment-0001.html
More information about the hawkular-dev
mailing list