<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 20, 2015, at 12:47 PM, John Sanda <<a href="mailto:jsanda@redhat.com" class="">jsanda@redhat.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" class=""><div class=""><br class="Apple-interchange-newline">On Mar 20, 2015, at 12:23 PM, Lukas Krejci <<a href="mailto:lkrejci@redhat.com" class="">lkrejci@redhat.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">On Friday, March 20, 2015 09:03:19 mike thompson wrote:<br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">On 20 Mar 2015, at 08:19, Lukas Krejci <<a href="mailto:lkrejci@redhat.com" class="">lkrejci@redhat.com</a>> wrote:<br class=""><br class="">I think the "metrics" should actually be dropped instead of "numeric”.<br class=""></blockquote><br class="">The only thing about ‘numeric’ is that it is not very specific. Numeric just<br class="">means number — every metric is a number so its really not adding anything.<br class="">Even availability data is numeric.<br class=""></blockquote><br class="">Isn't metrics going to store "events" eventually, too? Those would be textual,<span class="Apple-converted-space"> </span><br class="">wouldn't they?<br class=""><br class="">Also, IMHO, even config could be stored in metrics. Even though that is a bit<span class="Apple-converted-space"> </span><br class="">of a stretch, configuration is after all a time series of structured data...<br class=""><br class="">You're right that at the moment numeric doesn't add much information. So maybe<span class="Apple-converted-space"> </span><br class="">instead of that, the type would specify what should be done with the metric?<br class=""><br class="">Something along the lines of dropwizard-metrics' distinction between a meter,<span class="Apple-converted-space"> </span><br class="">counter, gauge, histogram, etc?<br class=""><br class="">So like:<br class=""><br class=""><a href="http://asdf.com/hawkular/metrics/tenant1/histogram/{id}" class="">http://asdf.com/hawkular/metrics/tenant1/histogram/{id}</a><br class=""><a href="http://asdf.com/hawkular/metrics/tenant1/counter/{id}" class="">http://asdf.com/hawkular/metrics/tenant1/counter/{id}</a><br class=""><br class=""></div></blockquote><div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">[1] <a href="http://bit.ly/1BAfF8d" class="">http://bit.ly/1BAfF8d</a></div><div class=""><br class=""></div></div></div></blockquote><div><br class=""></div></div>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,<div class=""><br class=""></div><div class="">POST /hawkular/metrics/tenant1/gauages</div><div class="">GET /hawkular/metrics/tenant1/gauges</div><div class="">GET /hawkular/metrics/tenant1/gauges/{id}</div><div class=""><br class=""></div><div class="">POST /hawkular/metrics/tenant1/counters</div><div class="">GET /hawkular/metrics/tenant1/counters </div><div class="">GET /hawkular/metrics/tenant1/counters/{id}</div><div class=""><br class=""></div><div class="">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.</div></body></html>