Per-(table, columnFamily) metrics with configurable table name inclusion
------------------------------------------------------------------------
Key: HBASE-4768
URL: https://issues.apache.org/jira/browse/HBASE-4768
Project: HBase
Issue Type: New Feature
Reporter: Mikhail Bautin
Assignee: Mikhail Bautin
As we kept adding more granular block read and block cache usage statistics, a
combinatorial explosion of various cases to monitor started to happen,
especially when we wanted both per-table/column family/block type statistics
and aggregate statistics on various subsets of these dimensions. Here, we
un-clutters HFile readers, LruBlockCache, StoreFile, etc. by creating a
centralized class that knows how to update all kinds of per-table/CF/block type
counters.
Table name and column family configuration have been pushed to a base class,
SchemaConfigured. This is convenient as many of existing classes that have
these properties (HFile readers/writers, HFile blocks, etc.) did not have a
base class. Whether to collect per-(table, columnFamily) or per-columnFamily
only metrics can be configured with the hbase.metrics.showTableName
configuration key. We don't expect this configuration to change at runtime, so
we cache the setting statically and log a warning when an attempt is made to
flip it once already set. This way we don't have to pass configuration to a lot
more places, e.g. everywhere an HFile reader is instantiated.
Thanks to Liyin for his initial version of per-table metrics patch and a lot of
valuable feedback.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira