final AsyncFunction<MetricsCollection, MetricsCollection> typeAndUnitProcessor;
final AsyncFunction<MetricsCollection, List<List<IMetric>>> batchSplitter;
final AsyncFunction<List<List<IMetric>>, List<Boolean>> batchWriter;
final AsyncFunction<MetricsCollection, MetricsCollection> rollupTypeCacher;
typeAndUnitProcessor = new TypeAndUnitProcessor(
new ThreadPoolBuilder()
.withName("Metric type and unit processing")
.withCorePoolSize(HTTP_MAX_TYPE_UNIT_PROCESSOR_THREADS)
.withMaxPoolSize(HTTP_MAX_TYPE_UNIT_PROCESSOR_THREADS)
.build(),