Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-18409

Migrate Client Metrics from codahale to hbase-metrics



    • Type: Improvement
    • Status: In Progress
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 3.0.0-alpha-1
    • Fix Version/s: None
    • Component/s: Client, java, metrics
    • Labels:
    • Tags:
      hbase client metrics MetricsConnection


      Currently, the metrics for hbase-client are tailored for reporting via a client-side JMX server.
      The MetricsConnection handles the metrics management and reporting via the metrics platform from codahale.
      This approach worked well for hbase-1.3.1 when the metrics platform was still relatively young, but it could be improved by using the new hbase-metrics-api.

      Now that we have an actual hbase-metrics-api that master, regionserver, zookeeper, and other daemons use, it would be good to also allow the client to leverage the metrics-api.
      Then, the client could also report its metrics via Hadoop's metrics2 if desired or through another platform that utilizes the hbase-metrics-api.
      If left alone, client metrics will continue to be only barely visible through a client-side JMX server.

      The migration to the new metrics-api could be done by simply changing the Metrics data types from codahale types to hbase-metrics types without changing the metrics signatures of MetricsConnection unless completely necessary.
      The codahale MetricsRegistry would also have to be exchanged for a hbase-metrics MetricsRegistry.

      I found this to be a necessary change after attempting to implement my own Reporter to use within the MetricsConnection class.
      I was attempting to create a HadoopMetrics2Reporter that extends the codahale ScheduledReporter and reports the MetricsConnection metrics to Hadoop's metrics2 system.
      The already existing infrastructure in the hbase-metrics and hbase-metrics-api projects could be easily leveraged for a cleaner solution.
      If completed successfully, users could instead access their client-side metrics through the hbase-metrics-api.




            • Assignee:
              qwerty2.0 Ronald Macmaster
            • Votes:
              0 Vote for this issue
              14 Start watching this issue


              • Created:

                Time Tracking

                Original Estimate - 168h
                Remaining Estimate - 168h
                Time Spent - Not Specified
                Not Specified