X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Fbenchmark.ts;h=48e740dfff4e36989f7f39a62feb2af492b4076e;hb=a15d7b82603d0e5c1210a83adde1cd408f1c9030;hp=5dcf9b01b51472d37f04d2d47e003a19126c7fdc;hpb=9e8789497377cac5554a622da605f5b89587aa9c;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/benchmark.ts b/scripts/benchmark.ts index 5dcf9b01b..48e740dff 100644 --- a/scripts/benchmark.ts +++ b/scripts/benchmark.ts @@ -1,16 +1,22 @@ -import { registerTSPaths } from '../server/helpers/register-ts-paths' -registerTSPaths() - -import * as autocannon from 'autocannon' +import autocannon, { printResult } from 'autocannon' +import { program } from 'commander' import { writeJson } from 'fs-extra' -import { createSingleServer, killallServers, PeerTubeServer, setAccessTokensToServers } from '@shared/extra-utils' import { Video, VideoPrivacy } from '@shared/models' +import { createSingleServer, killallServers, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands' 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,10 +141,14 @@ async function run () { title: 'API - config', path: '/api/v1/config', expecter: (body, status) => { - return status === 200 && body.startsWith('{"instance":') + return status === 200 && body.startsWith('{"client":') } } - ] + ].filter(t => { + if (!options.grep) return true + + return t.title.includes(options.grep) + }) const finalResult: any[] = [] @@ -149,7 +159,7 @@ async function run () { Object.assign(testResult, { title: test.title, path: test.path }) finalResult.push(testResult) - console.log(autocannon.printResult(testResult)) + console.log(printResult(testResult)) } if (outfile) await writeJson(outfile, finalResult) @@ -205,7 +215,7 @@ async function prepare () { language: 'fr', privacy: VideoPrivacy.PUBLIC, support: 'please give me a coffee', - description: 'my super description'.repeat(10), + description: 'my super description\n'.repeat(10) + ' * list1\n * list 2\n * list 3', tags: [ 'tag1', 'tag2', 'tag3' ] }