1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2018 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.api.technical
21 
22 import java.util.concurrent.ThreadPoolExecutor
23 
24 class MonitorableExecutionContext(executorService: ThreadPoolExecutor) {
25 
26   def activeTasks: Int = executorService.getActiveCount
27   def currentTasks: Int = executorService.getPoolSize
28   def maxTasks: Int = executorService.getMaximumPoolSize
29   def waitingTasks: Int = executorService.getQueue.size()
30 }
Line Stmt Id Pos Tree Symbol Tests Code
26 104 924 - 954 Apply java.util.concurrent.ThreadPoolExecutor.getActiveCount MonitorableExecutionContext.this.executorService.getActiveCount()
27 315 981 - 1008 Apply java.util.concurrent.ThreadPoolExecutor.getPoolSize MonitorableExecutionContext.this.executorService.getPoolSize()
28 256 1031 - 1065 Apply java.util.concurrent.ThreadPoolExecutor.getMaximumPoolSize MonitorableExecutionContext.this.executorService.getMaximumPoolSize()
29 141 1092 - 1123 Apply java.util.Collection.size MonitorableExecutionContext.this.executorService.getQueue().size()