@Override
    public ExecutorService newThreadPool(ThreadPoolProfile profile, ThreadFactory threadFactory) {
        ExecutorService executorService = threadPoolFactory.newThreadPool(profile, threadFactory);
        return ExecutorServiceMetrics.monitor(meterRegistry, executorService, name(profile.getId()));
    }
@Test
    public void testNewThreadPool() {
        final ExecutorService executorService = instrumentedThreadPoolFactory.newThreadPool(profile, threadFactory);
        assertThat(executorService, is(notNullValue()));
        assertThat(executorService, is(instanceOf(TimedExecutorService.class)));
        Tags tags = Tags.of("name", METRICS_NAME + "1");
        inOrder.verify(registry, times(1)).timer("executor", tags);
    }