[Hawkular-dev] availability and metric endpoints

John Sanda jsanda at redhat.com
Fri Mar 20 20:22:32 EDT 2015


> On Mar 20, 2015, at 12:47 PM, John Sanda <jsanda at redhat.com> wrote:
> 
>> 
>> On Mar 20, 2015, at 12:23 PM, Lukas Krejci <lkrejci at redhat.com <mailto:lkrejci at redhat.com>> wrote:
>> 
>> On Friday, March 20, 2015 09:03:19 mike thompson wrote:
>>>> On 20 Mar 2015, at 08:19, Lukas Krejci <lkrejci at redhat.com <mailto:lkrejci at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hawkular-dev/attachments/20150320/a45e9f2f/attachment.html 


More information about the hawkular-dev mailing list