Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
We may want to disable the features when benchmarking and etc, if the overhead of handling metrics degrades performance significantly (e.g., a large number of tasks).
One possible way to do this:
Change the MetricStore to an interface and provide an additional (optional) implementation that does nothing on method invocations (i.e., do not record any metrics). For example we can provide a JobConf option that enforces returning the dummy class on MetricStore#getStore, which seems to be the single point of access for using MetricStores.