[Hawkular-dev] Metrics reporting into hawkular-metrics
John Sanda
jsanda at redhat.com
Tue Feb 24 07:47:22 EST 2015
I mapped id to the list of values so that the id does not have to be repeated if you are reporting multiple data points for a particular metric, e.g.,
[
{
"name": "appsrv1.request_time",
"data": [
{"timestamp": 1416857688195, "value": 2.1},
{"timestamp": 1436857688195, "value": 2.2}
]
},
{
"name": "appsrv1.response_time",
"data": [
{"timestamp": 1416857688195, "value": 2.1},
{"timestamp": 1436857688195, "value": 2.2}
]
}
]
> On Feb 24, 2015, at 6:30 AM, Heiko W.Rupp <hrupp at redhat.com> wrote:
>
> Hi,
>
> I seem to have missed wrapping stuff like that.
>
> But why have <id, list <time,value>> when the most basic use case is a single <id, time, value> ?
> I think that way, client writing gets a lot harder than it should be.
>
> And no, having a java-json-serialization framework does not solve it for cases when the client
> is not written in java
>
>
>> Am 24.02.2015 um 12:21 schrieb Michael Burman <miburman at redhat.com>:
>>
>> Hi,
>>
>> The only issue I had with those methods was that I can't send anymore
>> availability & numeric metrics in the same request. But not that I
>> couldn't send many metrics in a same request. For example, this is what
>> my gather_agent sends to the endpoint:
>>
>> [
>> {
>> "data": [
>> {
>> "timestamp": 1424776542007,
>> "value": 11989272.0
>> }
>> ],
>> "name": "miranda.mem.memtotal"
>> },
>> {
>> "data": [
>> {
>> "timestamp": 1424776542007,
>> "value": 2423852.0
>> }
>> ],
>> "name": "miranda.mem.memfree"
>> },
>> ... and so on. In a single request. I'm posting this to the
>> http://{0}:{1}/rhq-metrics/{tenant_id}/metrics/numeric/data and it works
>> fine? I could send several data values of course in a single request
>> also. My python-client has tests for both of these scenarios, and they
>> seem to work fine?
>>
>> - Micke
>>
>>
>> On 24.02.2015 12:01, Heiko W.Rupp wrote:
>>> Hey,
>>>
>>> we need to have an endpoint that accepts a list of
>>>
>>> <name, timestamp , value> triples.
>>>
>>>
>>> The current
>>>
>>> @POST
>>> @Path("/{tenantId}/metrics/numeric/data")
>>> @Consumes(APPLICATION_JSON)
>>> public void addNumericData(@Suspended final AsyncResponse asyncResponse, @PathParam("tenantId") String tenantId,
>>> List<NumericDataParams> paramsList) {
>>>
>>> does not work (not technically).
>>>
>>> A client (think "agent") will not send a list of dozens of metric values for one metric id. And then in a next request for another.
>>> Especially not, when an agent is monitoring 10 resources and is then reporting their data. All reported metrics will have
>>> a different id.
>>>
>>> The other similarly challenged endpoint is
>>>
>>> @POST
>>> @Path("/{tenantId}/metrics/numeric/{id}/data")
>>> @Consumes(APPLICATION_JSON)
>>> public void addDataForMetric(@Suspended final AsyncResponse asyncResponse,
>>> @PathParam("tenantId") final String tenantId, @PathParam("id") String id, List<NumericDataPoint> dataPoints) {
>>>
>>> The metric id is passed on the URL-Path and thus requires a new request per metric to report.
>>>
>>> The above 2 endpoints may be consistent with their respective GET endpoints, but here we have the use case that I want
>>> to read mass data for one single id.
>>> Reporting use cases are different.
>>>
>>>
>>> _______________________________________________
>>> hawkular-dev mailing list
>>> hawkular-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>
>> _______________________________________________
>> hawkular-dev mailing list
>> hawkular-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>
> --
> Reg. Adresse: Red Hat GmbH, Technopark II, Haus C,
> Werner-von-Siemens-Ring 14, D-85630 Grasbrunn
> Handelsregister: Amtsgericht München HRB 153243
> Geschäftsführer: Charles Cachera, Michael Cunningham, Paul Hickey, Charlie Peters
>
>
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
More information about the hawkular-dev
mailing list