hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5433) [REST] Add metrics to keep track of success/failure count
Date Wed, 21 Mar 2012 18:19:45 GMT

    [ https://issues.apache.org/jira/browse/HBASE-5433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13234792#comment-13234792
] 

Andrew Purtell commented on HBASE-5433:
---------------------------------------

I'd say go ahead Lars.
                
> [REST] Add metrics to keep track of success/failure count
> ---------------------------------------------------------
>
>                 Key: HBASE-5433
>                 URL: https://issues.apache.org/jira/browse/HBASE-5433
>             Project: HBase
>          Issue Type: Improvement
>          Components: metrics, rest
>    Affects Versions: 0.94.0
>            Reporter: Mubarak Seyed
>            Assignee: Mubarak Seyed
>              Labels: noob
>             Fix For: 0.94.0
>
>         Attachments: HBASE-5433.trunk.v1.patch
>
>
> In a production environment, the visibility of successful REST request(s) are not getting
exposed to metric system as we have only one metric (requests) today.
> Proposing to add more metrics such as successful_get_count, failed_get_count, successful_put_count,
failed_put_count
> The current implementation increases the request count at the beginning of the method
implementation and it is very hard to monitor requests (unless turn on debug, find the row_key
and validate it in get/scan using hbase shell), it will be very useful to ops to keep an eye
as requests from cross data-centers are trying to write data to one cluster using REST gateway
through load balancer (and there is no visibility of which REST-server/RS failed to write
data)
> {code}
>  Response update(final CellSetModel model, final boolean replace) {
>     // for requests
>     servlet.getMetrics().incrementRequests(1);
>        ..  
>        ..
>       table.put(puts);
>       table.flushCommits();
>       ResponseBuilder response = Response.ok();
>       // for successful_get_count
>       servlet.getMetrics().incrementSuccessfulGetRequests(1);
>       return response.build();
>     } catch (IOException e) {
>       // for failed_get_count
>       servlet.getMetrics().incrementFailedGetRequests(1);
>       throw new WebApplicationException(e,
>                   Response.Status.SERVICE_UNAVAILABLE);
>     } finally {
>     }
>   }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message