On Mar 20, 2015, at 12:47 PM, John Sanda <jsanda(a)redhat.com>
wrote:
>
> On Mar 20, 2015, at 12:23 PM, Lukas Krejci <lkrejci(a)redhat.com
<mailto:lkrejci@redhat.com>> wrote:
>
> On Friday, March 20, 2015 09:03:19 mike thompson wrote:
>>> On 20 Mar 2015, at 08:19, Lukas Krejci <lkrejci(a)redhat.com
<mailto:lkrejci@redhat.com>> wrote:
>>>
>>> I think the "metrics" should actually be dropped instead of
"numeric”.
>>
>> The only thing about ‘numeric’ is that it is not very specific. Numeric just
>> means number — every metric is a number so its really not adding anything.
>> Even availability data is numeric.
>
> Isn't metrics going to store "events" eventually, too? Those would be
textual,
> wouldn't they?
>
> Also, IMHO, even config could be stored in metrics. Even though that is a bit
> of a stretch, configuration is after all a time series of structured data...
>
> You're right that at the moment numeric doesn't add much information. So
maybe
> instead of that, the type would specify what should be done with the metric?
>
> Something along the lines of dropwizard-metrics' distinction between a meter,
> counter, gauge, histogram, etc?
>
> So like:
>
>
http://asdf.com/hawkular/metrics/tenant1/histogram/{id}
<
http://asdf.com/hawkular/metrics/tenant1/histogram/{id}>
>
http://asdf.com/hawkular/metrics/tenant1/counter/{id}
>
My aggregate metrics design doc[1] talks about formally introducing gauges and counters.
The question I have about endpoints like this is what about pushing a batch of metrics? Do
we need to make a separate request for each type? That seems cumbersome and inefficient.
[1]
http://bit.ly/1BAfF8d <
http://bit.ly/1BAfF8d>
I spent time today thinking about how we might implement counters. There is likely going
to be different write paths and schema involved for counters and gauges; consquently, I
think that the last suggestion from Lukas makes the most sense. We might have,
POST /hawkular/metrics/tenant1/gauages
GET /hawkular/metrics/tenant1/gauges
GET /hawkular/metrics/tenant1/gauges/{id}
POST /hawkular/metrics/tenant1/counters
GET /hawkular/metrics/tenant1/counters
GET /hawkular/metrics/tenant1/counters/{id}
And to put my REST education to the test here, If I want to find out about the types of
metrics that are supported, I would do a GET /hawkular/metrics/tenant1 and the response
should tell me about gauges, counters, tags, etc.