[
https://issues.apache.org/jira/browse/ZOOKEEPER-5036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18081345#comment-18081345
]
Himanshu Maurya commented on ZOOKEEPER-5036:
--------------------------------------------
Hello @Zookeeper Community
Kindly review and merge this PR:-
[https://github.com/apache/zookeeper/pull/2371]
Thank you
> Add Timeline Metrics Provider for external metrics collection systems
> ---------------------------------------------------------------------
>
> Key: ZOOKEEPER-5036
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-5036
> Project: ZooKeeper
> Issue Type: New Feature
> Components: metric system, server
> Reporter: Himanshu Maurya
> Assignee: Himanshu Maurya
> Priority: Major
> Labels: pull-request-available
> Time Spent: 2h 10m
> Remaining Estimate: 0h
>
> *Summary*
> Add a new Timeline Metrics Provider that enables ZooKeeper to export metrics
> to external Timeline-based metrics collection systems such as Apache Ambari
> Metrics Collector and YARN Timeline Service.
> *Motivation*
> Currently, ZooKeeper supports Prometheus metrics provider but lacks built-in
> support for Timeline metrics format used by Hadoop ecosystem monitoring
> tools. This enhancement enables seamless integration with existing Hadoop
> monitoring infrastructure.
> *Implementation*
> * New module: {{zookeeper-timeline-metrics}}
> * Provider class:
> {{org.apache.zookeeper.metrics.timeline.TimelineMetricsProvider}}
> * Pluggable sink architecture with dynamic class loading
> * Configurable via {{zoo.cfg}} properties
> * Periodic metrics collection and export (default: 60 seconds)
> * Supports all ZooKeeper metric types: Counter, Gauge, Summary, and their
> Set variants
> *Configuration Example*
> {code:java}
> metricsProvider.className=org.apache.zookeeper.metrics.timeline.TimelineMetricsProvider
> metricsProvider.timeline.sink.class=org.apache.hadoop.metrics2.sink.timeline.ZooKeeperTimelineMetricsSink
> metricsProvider.timeline.collection.period=60
> metricsProvider.timeline.hostname=zk1.example.com
> metricsProvider.timeline.appId=zookeeper
> metricsProvider.timeline.collector.hosts=collector.example.com {code}
> *Benefits*
> * No code changes required in ZooKeeper core
> * Backward compatible - existing metrics providers continue to work
> * Zero runtime dependencies - sink JARs loaded optionally from classpath
> * Graceful degradation - ZooKeeper operates normally if sink unavailable
> * Flexible - supports any Timeline-compatible metrics collector
> Corresponding Ambari Jira :- AMBARI-26595
--
This message was sent by Atlassian Jira
(v8.20.10#820010)