Each server process extends AbstractServer and calls MetricsUtil.initializeProducers() passing in a list of MetricsProducer implementations. Modify AbstractServer to also implement MetricsProducer and modify the calls to MetricsUtil.initializeProducers() to include this. I'm thinking that the metric should be a Gauge with either the value of 0 or 1, which will allow a downstream metric collector to determine how many servers of a given type of running low on memory.