[ 
https://issues.apache.org/jira/browse/AMBARI-10145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mohamed Jameel Naina Mohamed updated AMBARI-10145:
--------------------------------------------------
    Description: 
AMS should provide extension to drain metrics to other sources. 

Proposal: 

 In PhoenixHBaseAccessor add support to drain aggregated metrics to additional 
sinks apart from writing to HBase. This change required introducing new config 
to register a class which drain metrics. Here is the proposed sink interface


public interface TimelineMetricsAggregatorSink {

  public void saveHostAggregateRecords(Map<TimelineMetric, MetricHostAggregate> 
hostAggregateMap,
      String tableName);
  
  public void saveClusterTimeAggregateRecords(Map<TimelineClusterMetric, 
MetricHostAggregate> records,
      String tableName) ;
  
  public void saveClusterAggregateRecords(Map<TimelineClusterMetric, 
MetricClusterAggregate> records) ;
}

new config: timeline.metrics.service.aggregator.sink.class

  was:
- Define an interface based on HBaseTimlineMetricsStore. Decouple 
implementation from the contract.
- Implement a Circular Buffer to cache the arriving metrics with a dequeue 
thread that sends the cached metrics to a MetricsSystemTeeEndpoint
- Define MetricsSystemTeeEndpoint interface with simple methods to read configs 
and sinkData
- Allow for handling exceptions like NoDataException, TimeoutOnTeeException, 
TeeEndpointUnavailableException
- Make the bounded buffer size configurable.
- Allow configurable send interval
- Allow user to configure precision settings, e.g.: Send data every hour and 
only 5 minute aggregates.


> Add support for tee to another Storage service
> ----------------------------------------------
>
>                 Key: AMBARI-10145
>                 URL: https://issues.apache.org/jira/browse/AMBARI-10145
>             Project: Ambari
>          Issue Type: Task
>          Components: ambari-metrics
>    Affects Versions: 2.1.0
>            Reporter: Siddharth Wagle
>            Assignee: Mohamed Jameel Naina Mohamed
>
> AMS should provide extension to drain metrics to other sources. 
> Proposal: 
>  In PhoenixHBaseAccessor add support to drain aggregated metrics to 
> additional sinks apart from writing to HBase. This change required 
> introducing new config to register a class which drain metrics. Here is the 
> proposed sink interface
> public interface TimelineMetricsAggregatorSink {
>   public void saveHostAggregateRecords(Map<TimelineMetric, 
> MetricHostAggregate> hostAggregateMap,
>       String tableName);
>   
>   public void saveClusterTimeAggregateRecords(Map<TimelineClusterMetric, 
> MetricHostAggregate> records,
>       String tableName) ;
>   
>   public void saveClusterAggregateRecords(Map<TimelineClusterMetric, 
> MetricClusterAggregate> records) ;
> }
> new config: timeline.metrics.service.aggregator.sink.class



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to