Improve benchmark script CLI options
This commit is contained in:
parent
f7ac03ee94
commit
1087427616
|
@ -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: |
|
||||
|
|
|
@ -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[] = []
|
||||
|
||||
|
|
|
@ -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
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue