[ 
https://issues.apache.org/jira/browse/CHUKWA-515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12904707#action_12904707
 ] 

Bill Graham commented on CHUKWA-515:
------------------------------------

I'm thinking that the {{/adaptorStats}} functionality can be merged into the 
{{/adaptor}} REST resource and we just show the stats with the adaptor. I've 
implemented the REST GET functionality for all adaptors and a single adaptor by 
id. The former is shown below (xml and text). The latter would look similar, 
just without the {{<Adaptors>}} element.

{noformat}
<Response>
  <Adaptors total="1">
    <Adaptor id="adaptor_c14aa68e64bf0f12be76ce91e7f2e20d"
             dataType="some-data-type" offset="51394422">
      <AdaptorClass>
        org.apache.hadoop.chukwa.datacollection.adaptor.jms.JMSAdaptor
      </AdaptorClass>
      <AdaptorParams>
        some-data-type tcp://jms.host.com:61616 -t queue.name
      </AdaptorParams>
      <AverageRate intervalSeconds="60">17784.66</AverageRate>
      <AverageRate intervalSeconds="300">17733.91</AverageRate>
      <AverageRate intervalSeconds="600">17679.28</AverageRate>
    </Adaptor>
  </Adaptors>
</Response>
{noformat}

For the text view, I'm using YAML:

{noformat}
adaptor_count: 1
adaptors: 
  - adaptor_id: adaptor_c14aa68e64bf0f12be76ce91e7f2e20d
    data_type: some-data-type
    offset: 51355632
    adaptor_class: 
org.apache.hadoop.chukwa.datacollection.adaptor.jms.JMSAdaptor
    adaptor_params: some-data-type tcp://jms.host.com:61616 -t queue.name
    average_rates: 
      - rate: 17784.66
        interval: 60
      - rate: 17733.91
        interval: 300
      - rate: 17679.28
        interval: 600
{noformat}

I implemented a timer that takes snapshots every 10 seconds and saves up to 15 
minutes worth of data per adaptor. To compute stats I have a {{StatsManager}} 
that requires a recent data point within 0.25*interval (to assure data is not 
stale) and an older data point within 0.25*interval of the recent data point - 
interval (to assure adequate history).

Comments?

> Statistics REST API for Agent
> -----------------------------
>
>                 Key: CHUKWA-515
>                 URL: https://issues.apache.org/jira/browse/CHUKWA-515
>             Project: Chukwa
>          Issue Type: Sub-task
>            Reporter: Bill Graham
>            Assignee: Bill Graham
>
> Develop a REST interface to expose Agent statistics. 
> * Request URI:
> {noformat}
> GET /rest/v1/adaptorStats HTTP/1.0
> {noformat}
> * For now I'm shooting for the XML response, but ultimately we can support 
> optional params:
> {noformat}
> viewType=[json|xml|text] (default is XML?)
> {noformat}
> * Response XML
> TBD. My thought is to integrate with the {{AgentMetrics}} and 
> {{ChunkQueueMetrics}} and show their information, along with a list of 
> adaptors. It appears that the same {{MemQueue}} is shared amongst all 
> adaptors, so we won't be able to expose per-adaptor stats as is. Let me know 
> if I'm missing something there, or if you have comments in general about the 
> approach.
> I was planning on using Jetty similar to how the collector does. We could 
> have some common code that delegates requests to different handlers based on 
> the URI. The current telnet interface will remain as-is.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to