list of metric listeners should be thread-safe