| 183 | (await readdir(dir).catch(() => [])).length; |
| 184 | |
| 185 | const internals = (browserless) => { |
| 186 | // Protected fields are reachable at runtime; this is a dev-only check |
| 187 | const manager = browserless['browserManager']; |
| 188 | const limiter = browserless['limiter']; |
| 189 | const fileSystem = browserless['fileSystem']; |
| 190 | const config = browserless['config']; |
| 191 | return { |
| 192 | configListeners: config |
| 193 | .eventNames() |
| 194 | .reduce((sum, e) => sum + config.listenerCount(e), 0), |
| 195 | fsCacheEntries: fileSystem['fsMap'].size, |
| 196 | limiterQueue: limiter.length, |
| 197 | orphanedDataDirs: manager['orphanedDataDirs'].size, |
| 198 | sessions: manager['browsers'].size, |
| 199 | timers: manager['timers'].size, |
| 200 | writeChains: fileSystem['writeChains'].size, |
| 201 | }; |
| 202 | }; |
| 203 | |
| 204 | const main = async () => { |
| 205 | const config = new Config(); |