@@ -148,7 +148,7 @@ private static ThreadFactory virtualThreadFactory() {
148148 private final List <ContextLocal <?>> contextLocalsList ;
149149 final WorkerPool workerPool ;
150150 final WorkerPool internalWorkerPool ;
151- final WorkerPool virtualThreaWorkerPool ;
151+ final WorkerPool virtualThreadWorkerPool ;
152152 private final VertxThreadFactory threadFactory ;
153153 private final ExecutorServiceFactory executorServiceFactory ;
154154 private final ThreadFactory eventLoopThreadFactory ;
@@ -203,6 +203,7 @@ private static ThreadFactory virtualThreadFactory() {
203203 PoolMetrics internalBlockingPoolMetrics = metrics != null ? metrics .createPoolMetrics ("worker" , "vert.x-internal-blocking" , internalBlockingPoolSize ) : null ;
204204
205205 ThreadFactory virtualThreadFactory = virtualThreadFactory ();
206+ PoolMetrics virtualThreadWorkerPoolMetrics = metrics != null ? metrics .createPoolMetrics ("worker" , "vert.x-virtual-thread" , options .getWorkerPoolSize ()) : null ;
206207
207208 contextLocals = LocalSeq .get ();
208209 contextLocalsList = Collections .unmodifiableList (Arrays .asList (contextLocals ));
@@ -215,7 +216,7 @@ private static ThreadFactory virtualThreadFactory() {
215216 // under a lot of load
216217 acceptorEventLoopGroup = transport .eventLoopGroup (Transport .ACCEPTOR_EVENT_LOOP_GROUP , 1 , acceptorEventLoopThreadFactory , 100 );
217218 virtualThreadExecutor = virtualThreadFactory != null ? new ThreadPerTaskExecutorService (virtualThreadFactory ) : null ;
218- virtualThreaWorkerPool = virtualThreadFactory != null ? new WorkerPool (virtualThreadExecutor , null ) : null ;
219+ virtualThreadWorkerPool = virtualThreadFactory != null ? new WorkerPool (virtualThreadExecutor , virtualThreadWorkerPoolMetrics ) : null ;
219220 internalWorkerPool = new WorkerPool (internalWorkerExec , internalBlockingPoolMetrics );
220221 workerPool = new WorkerPool (workerExec , workerPoolMetrics );
221222 defaultWorkerPoolSize = options .getWorkerPoolSize ();
@@ -609,8 +610,8 @@ public ContextImpl createContext(ThreadingModel threadingModel,
609610 if (!isVirtualThreadAvailable ()) {
610611 throw new IllegalStateException ("This Java runtime does not support virtual threads" );
611612 }
612- wp = virtualThreaWorkerPool ;
613- eventExecutor = new WorkerExecutor (virtualThreaWorkerPool , new WorkerTaskQueue ());
613+ wp = virtualThreadWorkerPool ;
614+ eventExecutor = new WorkerExecutor (virtualThreadWorkerPool , new WorkerTaskQueue ());
614615 break ;
615616 default :
616617 throw new UnsupportedOperationException ();
0 commit comments