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() |