[
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)