Improve benchmark script CLI options

pull/4826/head
Chocobozzz 2022-02-28 15:19:44 +01:00
parent f7ac03ee94
commit 1087427616
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 23 additions and 4 deletions

View File

@ -71,7 +71,7 @@ jobs:
- name: Run benchmark
run: |
node dist/scripts/benchmark.js benchmark.json
node dist/scripts/benchmark.js -o benchmark.json
- name: Display result
run: |

View File

@ -1,4 +1,5 @@
import autocannon, { printResult } from 'autocannon'
import { program } from 'commander'
import { writeJson } from 'fs-extra'
import { Video, VideoPrivacy } from '@shared/models'
import { createSingleServer, killallServers, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands'
@ -7,7 +8,15 @@ let server: PeerTubeServer
let video: Video
let threadId: number
const outfile = process.argv[2]
program
.option('-o, --outfile [outfile]', 'Outfile')
.option('--grep [string]', 'Filter tests you want to execute')
.description('Run API REST benchmark')
.parse(process.argv)
const options = program.opts()
const outfile = options.outfile
run()
.catch(err => console.error(err))
@ -135,7 +144,11 @@ async function run () {
return status === 200 && body.startsWith('{"client":')
}
}
]
].filter(t => {
if (!options.grep) return true
return t.title.includes(options.grep)
})
const finalResult: any[] = []

View File

@ -13,5 +13,11 @@ $ npm run build -- --analyze-bundle && npm run client-report
To benchmark the REST API and save result in `benchmark.json`:
```
$ node dist/scripts/benchmark.js benchmark.json
$ node dist/scripts/benchmark.js -o benchmark.json
```
You can also grep on a specific test:
```
$ node dist/scripts/benchmark.js --grep homepage
```