| 'use strict'; |
| const common = require('../common.js'); |
| |
| const bench = common.createBenchmark(main, { |
| asyncHooks: ['init', 'before', 'after', 'all', 'disabled', 'none'], |
| connections: [50, 500], |
| duration: 5 |
| }); |
| |
| function main({ asyncHooks, connections, duration }) { |
| if (asyncHooks !== 'none') { |
| let hooks = { |
| init() {}, |
| before() {}, |
| after() {}, |
| destroy() {}, |
| promiseResolve() {} |
| }; |
| if (asyncHooks !== 'all' || asyncHooks !== 'disabled') { |
| hooks = { |
| [asyncHooks]: () => {} |
| }; |
| } |
| const hook = require('async_hooks').createHook(hooks); |
| if (asyncHooks !== 'disabled') { |
| hook.enable(); |
| } |
| } |
| const server = require('../fixtures/simple-http-server.js') |
| .listen(common.PORT) |
| .on('listening', () => { |
| const path = '/buffer/4/4/normal/1'; |
| |
| bench.http({ |
| connections, |
| path, |
| duration |
| }, () => { |
| server.close(); |
| }); |
| }); |
| } |