Example usage for io.netty.channel SingleThreadEventLoop pendingTasks

List of usage examples for io.netty.channel SingleThreadEventLoop pendingTasks

Introduction

In this page you can find the example usage for io.netty.channel SingleThreadEventLoop pendingTasks.

Prototype

@Override
    public int pendingTasks() 

Source Link

Usage

From source file:com.mpush.tools.thread.pool.ThreadPoolManager.java

License:Apache License

public static Map<String, Object> getPoolInfo(EventLoopGroup executors) {
    Map<String, Object> info = new HashMap<>(3);
    int poolSize = 0, queueSize = 0, activeCount = 0;
    for (EventExecutor e : executors) {
        poolSize++;/*from   ww  w .  ja  v  a2s .  c  o m*/
        if (e instanceof SingleThreadEventLoop) {
            SingleThreadEventLoop executor = (SingleThreadEventLoop) e;
            queueSize += executor.pendingTasks();
            ThreadProperties tp = executor.threadProperties();
            if (tp.state() == Thread.State.RUNNABLE) {
                activeCount++;
            }
        }
    }
    info.put("poolSize(workThread)", poolSize);
    info.put("activeCount(workingThread)", activeCount);
    info.put("queueSize(blockedTask)", queueSize);
    return info;
}