From 815a4a120eb69a358f03ccd13ecda3223f2469b8 Mon Sep 17 00:00:00 2001 From: James Kyburz Date: Sun, 6 Oct 2019 16:19:40 +0200 Subject: [PATCH] github action to update benchmarks --- .github/workflows/benchmarks.yml | 39 +++ .gitignore | 1 - benchmark-bench.js | 118 ++++--- benchmark-compare.js | 2 +- run/application_config.json | 511 ------------------------------- run/application_config_meta.json | 299 ------------------ run/router.json | 1 - 7 files changed, 107 insertions(+), 864 deletions(-) create mode 100644 .github/workflows/benchmarks.yml delete mode 100644 run/application_config.json delete mode 100644 run/application_config_meta.json delete mode 100644 run/router.json diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml new file mode 100644 index 00000000..cb801dcf --- /dev/null +++ b/.github/workflows/benchmarks.yml @@ -0,0 +1,39 @@ +name: Node benchmarks + +on: + schedule: + # * is a special character in YAML so you have to quote this string + - cron: '0 0 1 * *' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: 10 + - name: benchmarks + run: | + npm install + npm start y 100 10 40 + npm start y 100 10 40 + node_version=$(node --version) + benchmark_title=$(cat << EOF + # Benchmarks + * __Machine:__ $(uname -a) | $(node -r os -p -e "\`\${os.cpus().length} vCPUs | \${Math.ceil(os.totalmem() / (Math.pow(1024, 3)))}GB\`"). + * __Method:__ \`autocannon -c 100 -d 40 -p 10 localhost:3000\` (two rounds; one to warm-up, one to measure). + * __Node:__ \`$node_version\` + * __Run:__ $(date) + EOF) + benchmark_table=$(node benchmark-compare.js -t -c) + strip_readme=$(node -r fs -p -e 'fs.readFileSync("./README.md", "utf-8").split(/# Benchmarks/)[0]') + git checkout master + echo -e "${strip_readme:?}\n${benchmark_title:?}\n\n${benchmark_table}" > README.md + git add README.md + git config user.name 'Github Actions' + git config user.email '<>' + git commit -m "Add new benchmarks to README.md" + git remote set-url --push origin https://${{ secrets.GITHUB_USERNAME }}:${{ secrets.GITHUB_REPO_TOKEN }}@github.com/fastify/benchmarks + git push diff --git a/.gitignore b/.gitignore index a2c1867d..8374c968 100644 --- a/.gitignore +++ b/.gitignore @@ -56,4 +56,3 @@ yarn.lock package-lock.json # benchmark results -results diff --git a/benchmark-bench.js b/benchmark-bench.js index cda0ec61..1f848976 100644 --- a/benchmark-bench.js +++ b/benchmark-bench.js @@ -1,12 +1,75 @@ -#!/usr/bin/env node 'use strict' const inquirer = require('inquirer') const bench = require('./lib/bench') const { choices, list } = require('./lib/packages') +const argv = process.argv.slice(2) -function select (callback) { - inquirer.prompt([ +run().catch(err => { + console.error(err) + process.exit(1) +}) + +async function run () { + const options = await getBenchmarkOptions() + const modules = options.all ? choices : await select(list) + return bench(options, modules) +} + +async function getBenchmarkOptions () { + if (argv.length) return parseArgv() + return inquirer.prompt([ + { + type: 'confirm', + name: 'all', + message: 'Do you want to run all benchmark tests?', + default: false + }, + { + type: 'input', + name: 'connections', + message: 'How many connections do you need?', + default: 100, + validate (value) { + return !Number.isNaN(parseFloat(value)) || 'Please enter a number' + }, + filter: Number + }, + { + type: 'input', + name: 'pipelining', + message: 'How many pipelines do you need?', + default: 10, + validate (value) { + return !Number.isNaN(parseFloat(value)) || 'Please enter a number' + }, + filter: Number + }, + { + type: 'input', + name: 'duration', + message: 'How long should it take?', + default: 40, + validate (value) { + return !Number.isNaN(parseFloat(value)) || 'Please enter a number' + }, + filter: Number + } + ]) +} + +function parseArgv () { + const [all, connections, pipelining, duration] = argv + return { + all: all === 'y', + connections: +connections, + pipelining: +pipelining, + duration: +duration + } +} + +async function select () { + const result = await inquirer.prompt([ { type: 'checkbox', message: 'Select packages', @@ -25,52 +88,5 @@ function select (callback) { } } ]) - .then(function (answers) { - callback(answers.list) - }) + return result.list } - -inquirer.prompt([ - { - type: 'confirm', - name: 'all', - message: 'Do you want to run all benchmark tests?', - default: false - }, - { - type: 'input', - name: 'connections', - message: 'How many connections do you need?', - default: 100, - validate (value) { - return !Number.isNaN(parseFloat(value)) || 'Please enter a number' - }, - filter: Number - }, - { - type: 'input', - name: 'pipelining', - message: 'How many pipelines do you need?', - default: 10, - validate (value) { - return !Number.isNaN(parseFloat(value)) || 'Please enter a number' - }, - filter: Number - }, - { - type: 'input', - name: 'duration', - message: 'How long should it take?', - default: 40, - validate (value) { - return !Number.isNaN(parseFloat(value)) || 'Please enter a number' - }, - filter: Number - } -]).then((opts) => { - if (!opts.all) { - select(list => bench(opts, list)) - } else { - bench(opts, choices) - } -}) diff --git a/benchmark-compare.js b/benchmark-compare.js index 5a2d3f52..82e8aa2b 100644 --- a/benchmark-compare.js +++ b/benchmark-compare.js @@ -51,7 +51,7 @@ if (!choices.length) { head: ['', 'Router', 'Requests/s', 'Latency', 'Throughput/Mb'] }) if (commander.commandlineMdTable) { - table.push([':--', '--:', ':-:', '--:', '--:', '--:']) + table.push([':--', '--:', ':-:', '--:', '--:']) } choices.forEach((result) => { diff --git a/run/application_config.json b/run/application_config.json deleted file mode 100644 index c66c42f5..00000000 --- a/run/application_config.json +++ /dev/null @@ -1,511 +0,0 @@ -{ - "config": { - "session": { - "maxAge": 86400000, - "key": "EGG_SESS", - "httpOnly": true, - "encrypt": true, - "overwrite": true, - "signed": true, - "autoCommit": true, - "encode": "", - "decode": "", - "genid": "" - }, - "security": { - "domainWhiteList": [], - "protocolWhiteList": [], - "defaultMiddleware": "csrf,hsts,methodnoallow,noopen,nosniff,csp,xssProtection,xframe,dta", - "csrf": { - "enable": true, - "useSession": false, - "ignoreJSON": false, - "cookieName": "csrfToken", - "sessionName": "csrfToken", - "headerName": "x-csrf-token", - "bodyName": "_csrf", - "queryName": "_csrf", - "matching": "" - }, - "xframe": { - "enable": true, - "value": "SAMEORIGIN", - "matching": "" - }, - "hsts": { - "enable": false, - "maxAge": 31536000, - "includeSubdomains": false - }, - "dta": { - "enable": true, - "matching": "" - }, - "methodnoallow": { - "enable": true, - "matching": "" - }, - "noopen": { - "enable": true, - "matching": "" - }, - "nosniff": { - "enable": true, - "matching": "" - }, - "referrerPolicy": { - "enable": false, - "value": "no-referrer-when-downgrade" - }, - "xssProtection": { - "enable": true, - "value": "1; mode=block", - "matching": "" - }, - "csp": { - "enable": false, - "policy": {} - }, - "ssrf": { - "ipBlackList": null, - "checkAddress": null - }, - "_protocolWhiteListSet": "" - }, - "helper": { - "shtml": {} - }, - "jsonp": { - "limit": 50, - "callback": [ - "_callback", - "callback" - ], - "csrf": false - }, - "onerror": { - "errorPageUrl": "", - "appErrorFilter": null, - "templatePath": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-onerror/lib/onerror_page.mustache" - }, - "i18n": { - "defaultLocale": "en_US", - "dirs": [ - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-session/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-jsonp/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-onerror/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-i18n/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-watcher/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-schedule/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-development/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-static/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-view/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/locales", - "/Users/jameskyburz/Documents/src/benchmarks/config/locales" - ], - "queryField": "locale", - "cookieField": "locale", - "cookieMaxAge": "1y", - "functionName": "__" - }, - "watcher": { - "type": "development", - "eventSources": { - "default": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-watcher/lib/event-sources/default", - "development": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-watcher/lib/event-sources/development" - } - }, - "customLogger": { - "scheduleLogger": { - "consoleLevel": "NONE", - "file": "/Users/jameskyburz/Documents/src/benchmarks/logs/fastify-benchmarks/egg-schedule.log" - } - }, - "multipart": { - "mode": "stream", - "autoFields": false, - "defaultCharset": "utf8", - "fieldNameSize": 100, - "fieldSize": 102400, - "fields": 10, - "fileSize": 10485760, - "files": 10, - "fileExtensions": [], - "whitelist": null, - "tmpdir": "/var/folders/8s/kdbw0knx3ks5n_nq5k9wlrqc0000gn/T/egg-multipart-tmp/fastify-benchmarks", - "cleanSchedule": { - "cron": "0 30 4 * * *" - } - }, - "development": { - "watchDirs": [], - "ignoreDirs": [], - "fastReady": false, - "reloadOnDebug": true, - "overrideDefault": false - }, - "logrotator": { - "filesRotateByHour": null, - "hourDelimiter": "-", - "filesRotateBySize": null, - "maxFileSize": 52428800, - "maxFiles": 10, - "rotateDuration": 60000, - "maxDays": 31 - }, - "static": { - "prefix": "/public/", - "dir": "/Users/jameskyburz/Documents/src/benchmarks/app/public", - "dynamic": true, - "preload": false, - "buffer": false, - "maxFiles": 1000, - "files": "" - }, - "view": { - "root": "/Users/jameskyburz/Documents/src/benchmarks/app/view", - "cache": false, - "defaultExtension": ".html", - "defaultViewEngine": "", - "mapping": {} - }, - "env": "local", - "name": "fastify-benchmarks", - "keys": "", - "proxy": false, - "protocolHeaders": "x-forwarded-proto", - "ipHeaders": "x-forwarded-for", - "hostHeaders": "", - "pkg": { - "name": "fastify-benchmarks", - "version": "0.3.6", - "description": "Benchmarks for Fastify, a fast and low-overhead web framework.", - "main": "index.js", - "scripts": { - "start": "node benchmark.js", - "compare": "node benchmark.js compare --", - "test": "standard | snazzy", - "standard": "standard | snazzy" - }, - "bin": { - "benchmark": "./benchmark.js" - }, - "repository": "https://github.com/fastify/benchmarks.git", - "author": "Çağatay Çalı", - "license": "MIT", - "dependencies": { - "@leizm/web": "^2.5.1", - "autocannon": "^3.2.0", - "autocannon-compare": "^0.3.0", - "chalk": "^2.4.1", - "cli-table": "^0.3.1", - "commander": "^2.15.1", - "connect": "^3.6.6", - "cors": "^2.8.5", - "dns-prefetch-control": "^0.1.0", - "egg": "^2.11.2", - "express": "^4.16.3", - "fastify": "^1.6.0", - "foxify": "^0.10.6", - "frameguard": "^3.0.0", - "hapi": "^17.5.1", - "hide-powered-by": "^1.0.0", - "hsts": "^2.1.0", - "ienoopen": "^1.0.0", - "inquirer": "^6.0.0", - "koa": "^2.5.1", - "koa-router": "^7.4.0", - "make-promises-safe": "^4.0.0", - "micro": "^9.3.2", - "micro-route": "^2.5.0", - "microrouter": "^3.1.3", - "ora": "^3.0.0", - "polka": "^0.5.1", - "rayo": "^1.0.4", - "restify": "^7.2.1", - "router": "^1.3.3", - "server-base": "^6.0.0", - "server-base-router": "^6.0.0", - "spirit": "^0.6.1", - "spirit-router": "^0.5.0", - "take-five": "^2.0.0", - "total.js": "^3.0.0", - "trek-engine": "^1.0.5", - "trek-router": "^1.2.0", - "vapr": "^0.5.1", - "x-xss-protection": "^1.1.0" - }, - "devDependencies": { - "snazzy": "^8.0.0", - "standard": "^12.0.1" - } - }, - "baseDir": "/Users/jameskyburz/Documents/src/benchmarks", - "HOME": "/Users/jameskyburz", - "rundir": "/Users/jameskyburz/Documents/src/benchmarks/run", - "dump": { - "ignore": "" - }, - "confusedConfigurations": { - "bodyparser": "bodyParser", - "notFound": "notfound", - "sitefile": "siteFile", - "middlewares": "middleware", - "httpClient": "httpclient" - }, - "notfound": { - "pageUrl": "" - }, - "siteFile": { - "/favicon.ico": "" - }, - "bodyParser": { - "enable": true, - "encoding": "utf8", - "formLimit": "100kb", - "jsonLimit": "100kb", - "strict": true, - "queryString": { - "arrayLimit": 100, - "depth": 5, - "parameterLimit": 1000 - }, - "returnRawBody": true - }, - "logger": { - "dir": "/Users/jameskyburz/Documents/src/benchmarks/logs/fastify-benchmarks", - "encoding": "utf8", - "env": "local", - "level": "INFO", - "consoleLevel": "INFO", - "disableConsoleAfterReady": false, - "outputJSON": false, - "buffer": true, - "appLogName": "fastify-benchmarks-web.log", - "coreLogName": "egg-web.log", - "agentLogName": "egg-agent.log", - "errorLogName": "common-error.log", - "coreLogger": { - "consoleLevel": "WARN" - }, - "allowDebugAtProd": false, - "type": "application" - }, - "httpclient": { - "enableDNSCache": false, - "dnsCacheLookupInterval": 10000, - "dnsCacheMaxLength": 1000, - "request": { - "timeout": 5000 - }, - "httpAgent": { - "keepAlive": true, - "freeSocketTimeout": 4000, - "maxSockets": 9007199254740991, - "maxFreeSockets": 256 - }, - "httpsAgent": { - "keepAlive": true, - "freeSocketTimeout": 4000, - "maxSockets": 9007199254740991, - "maxFreeSockets": 256 - } - }, - "meta": { - "enable": true, - "logging": false - }, - "coreMiddleware": [ - "meta", - "siteFile", - "notfound", - "static", - "bodyParser", - "overrideMethod", - "session", - "securities", - "i18n", - "eggLoaderTrace" - ], - "workerStartTimeout": 600000, - "serverTimeout": null, - "cluster": { - "listen": { - "path": "", - "port": 7001, - "hostname": "" - } - }, - "clusterClient": { - "maxWaitTime": 60000, - "responseTimeout": 60000 - }, - "onClientError": null, - "coreMiddlewares": "~config~coreMiddleware", - "appMiddlewares": [], - "appMiddleware": "~config~appMiddlewares", - "multipartParseOptions": { - "autoFields": false, - "defCharset": "utf8", - "limits": { - "fieldNameSize": 100, - "fieldSize": 102400, - "fields": 10, - "fileSize": 10485760, - "files": 10 - }, - "checkFile": "" - } - }, - "plugins": { - "session": { - "enable": true, - "package": "egg-session", - "name": "session", - "dependencies": [], - "optionalDependencies": [], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-session", - "version": "3.1.0" - }, - "security": { - "enable": true, - "package": "egg-security", - "name": "security", - "dependencies": [], - "optionalDependencies": [ - "session" - ], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security", - "version": "2.4.1" - }, - "jsonp": { - "enable": true, - "package": "egg-jsonp", - "name": "jsonp", - "dependencies": [], - "optionalDependencies": [ - "security" - ], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-jsonp", - "version": "2.0.0" - }, - "onerror": { - "enable": true, - "package": "egg-onerror", - "name": "onerror", - "dependencies": [], - "optionalDependencies": [ - "jsonp" - ], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-onerror", - "version": "2.1.0" - }, - "i18n": { - "enable": true, - "package": "egg-i18n", - "name": "i18n", - "dependencies": [], - "optionalDependencies": [], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-i18n", - "version": "2.0.0" - }, - "watcher": { - "enable": true, - "package": "egg-watcher", - "name": "watcher", - "dependencies": [], - "optionalDependencies": [], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-watcher", - "version": "3.1.0" - }, - "schedule": { - "enable": true, - "package": "egg-schedule", - "name": "schedule", - "dependencies": [], - "optionalDependencies": [], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-schedule", - "version": "3.4.0" - }, - "multipart": { - "enable": true, - "package": "egg-multipart", - "name": "multipart", - "dependencies": [], - "optionalDependencies": [ - "schedule" - ], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart", - "version": "2.3.0" - }, - "development": { - "enable": true, - "package": "egg-development", - "name": "development", - "dependencies": [ - "watcher" - ], - "optionalDependencies": [], - "env": [ - "local" - ], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-development", - "version": "2.4.1" - }, - "logrotator": { - "enable": true, - "package": "egg-logrotator", - "name": "logrotator", - "dependencies": [ - "schedule" - ], - "optionalDependencies": [], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator", - "version": "3.0.4" - }, - "static": { - "enable": true, - "package": "egg-static", - "name": "static", - "dependencies": [], - "optionalDependencies": [], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-static", - "version": "2.1.1" - }, - "view": { - "enable": true, - "package": "egg-view", - "name": "view", - "dependencies": [], - "optionalDependencies": [], - "env": [], - "from": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/plugin.js", - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-view", - "version": "2.1.0" - } - } -} \ No newline at end of file diff --git a/run/application_config_meta.json b/run/application_config_meta.json deleted file mode 100644 index a9575d73..00000000 --- a/run/application_config_meta.json +++ /dev/null @@ -1,299 +0,0 @@ -{ - "session": { - "maxAge": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-session/config/config.default.js", - "key": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-session/config/config.default.js", - "httpOnly": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-session/config/config.default.js", - "encrypt": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-session/config/config.default.js" - }, - "security": { - "domainWhiteList": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "protocolWhiteList": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "defaultMiddleware": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "csrf": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "useSession": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "ignoreJSON": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "cookieName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "sessionName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "headerName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "bodyName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "queryName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "xframe": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "value": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "hsts": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.local.js", - "maxAge": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "includeSubdomains": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "dta": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "methodnoallow": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "noopen": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "nosniff": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "referrerPolicy": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "value": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "xssProtection": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "value": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "csp": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "policy": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "ssrf": { - "ipBlackList": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js", - "checkAddress": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - } - }, - "helper": { - "shtml": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-security/config/config.default.js" - }, - "jsonp": { - "limit": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-jsonp/config/config.default.js", - "callback": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-jsonp/config/config.default.js", - "csrf": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-jsonp/config/config.default.js" - }, - "onerror": { - "errorPageUrl": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-onerror/config/config.default.js", - "appErrorFilter": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-onerror/config/config.default.js", - "templatePath": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-onerror/config/config.default.js" - }, - "i18n": { - "defaultLocale": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-i18n/config/config.default.js", - "dirs": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-i18n/config/config.default.js", - "queryField": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-i18n/config/config.default.js", - "cookieField": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-i18n/config/config.default.js", - "cookieMaxAge": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-i18n/config/config.default.js" - }, - "watcher": { - "type": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-watcher/config/config.local.js", - "eventSources": { - "default": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-watcher/config/config.default.js", - "development": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-watcher/config/config.default.js" - } - }, - "customLogger": { - "scheduleLogger": { - "consoleLevel": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-schedule/config/config.default.js", - "file": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-schedule/config/config.default.js" - } - }, - "multipart": { - "mode": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "autoFields": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "defaultCharset": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "fieldNameSize": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "fieldSize": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "fields": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "fileSize": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "files": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "fileExtensions": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "whitelist": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "tmpdir": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js", - "cleanSchedule": { - "cron": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-multipart/config/config.default.js" - } - }, - "development": { - "watchDirs": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-development/config/config.default.js", - "ignoreDirs": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-development/config/config.default.js", - "fastReady": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-development/config/config.default.js", - "reloadOnDebug": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-development/config/config.default.js", - "overrideDefault": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-development/config/config.default.js" - }, - "logrotator": { - "filesRotateByHour": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator/config/config.default.js", - "hourDelimiter": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator/config/config.default.js", - "filesRotateBySize": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator/config/config.default.js", - "maxFileSize": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator/config/config.default.js", - "maxFiles": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator/config/config.default.js", - "rotateDuration": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator/config/config.default.js", - "maxDays": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-logrotator/config/config.default.js" - }, - "static": { - "prefix": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-static/config/config.default.js", - "dir": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-static/config/config.default.js", - "dynamic": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-static/config/config.default.js", - "preload": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-static/config/config.default.js", - "buffer": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-static/config/config.default.js", - "maxFiles": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-static/config/config.default.js" - }, - "view": { - "root": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-view/config/config.default.js", - "cache": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-view/config/config.local.js", - "defaultExtension": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-view/config/config.default.js", - "defaultViewEngine": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-view/config/config.default.js", - "mapping": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg-view/config/config.default.js" - }, - "env": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "name": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "keys": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "proxy": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "protocolHeaders": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "ipHeaders": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "hostHeaders": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "pkg": { - "name": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "version": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "description": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "main": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "scripts": { - "start": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "compare": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "test": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "standard": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "bin": { - "benchmark": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "repository": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "author": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "license": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "dependencies": { - "@leizm/web": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "autocannon": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "autocannon-compare": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "chalk": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "cli-table": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "commander": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "connect": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "cors": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "dns-prefetch-control": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "egg": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "express": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "fastify": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "foxify": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "frameguard": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "hapi": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "hide-powered-by": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "hsts": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "ienoopen": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "inquirer": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "koa": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "koa-router": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "make-promises-safe": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "micro": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "micro-route": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "microrouter": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "ora": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "polka": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "rayo": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "restify": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "router": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "server-base": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "server-base-router": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "spirit": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "spirit-router": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "take-five": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "total.js": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "trek-engine": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "trek-router": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "vapr": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "x-xss-protection": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "devDependencies": { - "snazzy": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "standard": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - } - }, - "baseDir": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "HOME": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "rundir": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "dump": { - "ignore": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "confusedConfigurations": { - "bodyparser": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "notFound": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "sitefile": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "middlewares": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "httpClient": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "notfound": { - "pageUrl": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "siteFile": { - "/favicon.ico": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "bodyParser": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "encoding": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "formLimit": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "jsonLimit": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "strict": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "queryString": { - "arrayLimit": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "depth": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "parameterLimit": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - } - }, - "logger": { - "dir": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "encoding": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "env": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "level": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "consoleLevel": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "disableConsoleAfterReady": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "outputJSON": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "buffer": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "appLogName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "coreLogName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "agentLogName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "errorLogName": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "coreLogger": { - "consoleLevel": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.local.js" - }, - "allowDebugAtProd": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "httpclient": { - "enableDNSCache": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "dnsCacheLookupInterval": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "dnsCacheMaxLength": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "request": { - "timeout": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "httpAgent": { - "keepAlive": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "freeSocketTimeout": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "maxSockets": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "maxFreeSockets": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "httpsAgent": { - "keepAlive": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "freeSocketTimeout": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "maxSockets": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "maxFreeSockets": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - } - }, - "meta": { - "enable": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "logging": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "coreMiddleware": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "workerStartTimeout": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "serverTimeout": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "cluster": { - "listen": { - "path": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "port": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "hostname": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - } - }, - "clusterClient": { - "maxWaitTime": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js", - "responseTimeout": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" - }, - "onClientError": "/Users/jameskyburz/Documents/src/benchmarks/node_modules/egg/config/config.default.js" -} \ No newline at end of file diff --git a/run/router.json b/run/router.json deleted file mode 100644 index 0637a088..00000000 --- a/run/router.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file