I think this could be better handled externally from this "class".  If the discovery stuff isn't there, it should be possible to have a noop metrics client or something instead.