Open InsOpDe opened 2 years ago
I have tried artillery version 2.0.0-14 with the given example.
You can clone the repository here: https://github.com/InsOpDe/artillery-examples/tree/main/socket-io
after installing and running the server I receive the following report
All VUs finished. Total time: 1 minute, 1 second -------------------------------- Summary report @ 09:47:25(+0200) -------------------------------- errors.Error: server error: .................................................... 1500 vusers.created: ................................................................ 1500 vusers.created_by_name.Emit and validate acknowledgement: ...................... 745 vusers.created_by_name.Emit and validate response: ............................. 755 vusers.failed: ................................................................. 1500
full report with 1s and 1 arrivalrate and debug=*:
debug=*
DEBUG=* ./node_modules/.bin/artillery run socket-io.yml @oclif/config reading core plugin /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery +0ms @oclif/config loadJSON /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/package.json +0ms @oclif/config loadJSON /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/oclif.manifest.json +1ms @oclif/config loadJSON /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/.oclif.manifest.json +0ms @oclif/config:artillery loading IDs from /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds +0ms @oclif/config:artillery found commands [ 'dino', 'quick', 'report', 'run', 'aws:create-test-bundle', 'aws:delete-test-bundle', 'aws:delete-test-run', 'aws:describe-test-run', 'aws:list-secrets', 'aws:list-tags', 'aws:list-test-bundles', 'aws:list-test-runs', 'aws:list-tests', 'aws:post-note', 'aws:run', 'aws:set-config-value', 'aws:set-secret', 'aws:stop-test', 'pro:deploy', 'pro:subscription' ] +6ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/dino.js +2ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/quick.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/report.js +11ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/run.js +1ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/create-test-bundle.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/delete-test-bundle.js +1ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/delete-test-run.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/describe-test-run.js +1ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/list-secrets.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/list-tags.js +1ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/list-test-bundles.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/list-test-runs.js +1ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/list-tests.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/post-note.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/run.js +2ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/set-config-value.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/set-secret.js +1ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/aws/stop-test.js +0ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/pro/deploy.js +1ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/pro/subscription.js +0ms @oclif/config reading user plugins pjson /home/marcel/.local/share/artillery/package.json +0ms @oclif/config loadJSON /home/marcel/.local/share/artillery/package.json +67ms @oclif/config loading plugins [ '@oclif/plugin-help' ] +1ms @oclif/config reading core plugin /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/@oclif/plugin-help +0ms @oclif/config loadJSON /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/@oclif/plugin-help/package.json +1ms @oclif/config loadJSON /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/@oclif/plugin-help/oclif.manifest.json +0ms @oclif/config:@oclif/plugin-help using manifest from /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/@oclif/plugin-help/oclif.manifest.json +0ms @oclif/config config done +0ms @oclif/config start init hook +1ms artillery:artillery:hooks:init start /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cli/hooks/version +0ms artillery:artillery:hooks:init done +0ms @oclif/config init hook done +0ms artillery init version: @oclif/command@1.8.16 argv: [ 'run', 'socket-io.yml' ] +0ms @oclif/config runCommand run [ 'socket-io.yml' ] +2ms @oclif/config:artillery require /home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/lib/cmds/run.js +6ms @oclif/config start prerun hook +1ms @oclif/config prerun hook done +0ms artillery:run init version: @oclif/command@1.8.16 argv: [ 'socket-io.yml' ] +0ms engine_util path = target ; value = "http://localhost:8080/" (string) ; (subj type: hash) ; newValue = "http://localhost:8080/" ; newPath = target +0ms engine_util path = phases ; value = [{"duration":1,"arrivalRate":1}] (object) ; (subj type: hash) ; newValue = [{"duration":1,"arrivalRate":1}] ; newPath = phases +0ms engine_util path = phases[0] ; value = {"duration":1,"arrivalRate":1} (object) ; (subj type: list) ; newValue = {"duration":1,"arrivalRate":1} ; newPath = phases[0] +0ms engine_util path = phases[0].duration ; value = 1 (number) ; (subj type: hash) ; newValue = 1 ; newPath = phases[0].duration +0ms engine_util path = phases[0].arrivalRate ; value = 1 (number) ; (subj type: hash) ; newValue = 1 ; newPath = phases[0].arrivalRate +0ms core Worker thread count: 15 +0ms ⠋ follow-redirects options { maxRedirects: 21, maxBodyLength: 10485760, protocol: 'https:', path: '/batch/', method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'user-agent': 'posthog-node/1.3.0', 'Content-Length': 657 }, agent: undefined, agents: { http: undefined, https: undefined }, auth: undefined, hostname: 'app.posthog.com', port: null, nativeProtocols: { 'http:': { _connectionListener: [Function: connectionListener], METHODS: [Array], STATUS_CODES: [Object], Agent: [Function], ClientRequest: [Function: ClientRequest], IncomingMessage: [Function: IncomingMessage], OutgoingMessage: [Function: OutgoingMessage], Server: [Function: Server], ServerResponse: [Function: ServerResponse], createServer: [Function: createServer], validateHeaderName: [Function: hidden], validateHeaderValue: [Function: hidden], get: [Function: get], request: [Function: request], maxHeaderSize: [Getter], globalAgent: [Getter/Setter] }, 'https:': { Agent: [Function: Agent], globalAgent: [Agent], Server: [Function: Server], createServer: [Function: createServer], get: [Function: get], request: [Function: request] } } } +0ms @oclif/config start postrun hook +51ms @oclif/config postrun hook done +0ms core worker init ok: 1 - state: 2 +46ms ⠸ 2022-04-12T07:50:58.452Z artillery:worker { id: 1, ts: 1649749858451, event: 'readyWaiting' } core workers prepared +250ms 2022-04-12T07:50:58.483Z runner run() with: {"config":{"target":"http://localhost:8080/","phases":[{"duration":1,"arrivalRate":1}],"statsInterval":30,"payload":null,"defaults":{}},"scenarios":[{"name":"Emit and validate response","engine":"socketio","flow":[{"emit":{"channel":"echo","data":"Hello from Artillery","response":{"channel":"echoResponse","data":"Hello from Artillery"}}}]},{"name":"Emit and validate acknowledgement","engine":"socketio","flow":[{"emit":{"channel":"userDetails","acknowledge":{"match":{"json":"$.0.name","value":"Artillery"}}}}]}]} Phase started: unnamed (index: 0, duration: 1s) 09:50:58(+0200) 2022-04-12T07:50:58.484Z artillery:worker { id: 1, ts: 1649749858484, event: 'phaseStarted', phase: { duration: 1, arrivalRate: 1, mode: 'uniform', index: 0 } } 2022-04-12T07:50:58.484Z phases creating a uniform process for arrivalRate 2022-04-12T07:50:58.484Z arrivals tickInterval = 1000, duration = 1000 2022-04-12T07:50:58.484Z arrivals this._tickInterval set to 1000000 2022-04-12T07:50:58.485Z arrivals maxArrivals = 1 2022-04-12T07:50:58.485Z artillery:worker { id: 1, ts: 1649749858485, event: 'running' } ⠼ core workers running +51ms ⠦ 2022-04-12T07:50:59.486Z runner picking scenario 0 (Emit and validate response) weight = 1 Phase completed: unnamed (index: 0, duration: 1s) 09:50:59(+0200) 2022-04-12T07:50:59.486Z perf runScenarioDelta: 0.9 2022-04-12T07:50:59.487Z socket.io-client:url parse http://localhost:8080/ 2022-04-12T07:50:59.487Z socket.io-client new io instance for http://localhost:8080/ 2022-04-12T07:50:59.488Z socket.io-client:manager readyState closed 2022-04-12T07:50:59.488Z socket.io-client:manager opening http://localhost:8080/ 2022-04-12T07:50:59.488Z engine.io-client:socket creating transport "polling" 2022-04-12T07:50:59.488Z engine.io-client:socket options: {"path":"/socket.io/","agent":false,"withCredentials":false,"upgrade":true,"timestampParam":"t","rememberUpgrade":false,"rejectUnauthorized":true,"perMessageDeflate":{"threshold":1024},"transportOptions":{},"closeOnBeforeunload":true,"hostname":"localhost","secure":false,"port":"8080","query":{"EIO":4,"transport":"polling"},"socket":{"secure":false,"hostname":"localhost","port":"8080","transports":["polling","websocket"],"readyState":"opening","writeBuffer":[],"prevBufferLen":0,"opts":{"path":"/socket.io/","agent":false,"withCredentials":false,"upgrade":true,"timestampParam":"t","rememberUpgrade":false,"rejectUnauthorized":true,"perMessageDeflate":{"threshold":1024},"transportOptions":{},"closeOnBeforeunload":true,"hostname":"localhost","secure":false,"port":"8080"},"id":null,"upgrades":null,"pingInterval":null,"pingTimeout":null,"pingTimeoutTimer":null}} 2022-04-12T07:50:59.488Z engine.io-client:polling polling 2022-04-12T07:50:59.488Z engine.io-client:polling-xhr xhr poll 2022-04-12T07:50:59.489Z engine.io-client:polling-xhr xhr open GET: http://localhost:8080/socket.io/?EIO=4&transport=polling&t=O0SmHoW&b64=1 2022-04-12T07:50:59.489Z engine.io-client:polling-xhr xhr data null 2022-04-12T07:50:59.493Z engine.io-client:socket setting transport polling 2022-04-12T07:50:59.493Z socket.io-client:manager connect attempt will timeout after 20000 2022-04-12T07:50:59.493Z socket.io-client:manager readyState opening 2022-04-12T07:50:59.493Z arrivals maxArrivals reached, stopping 2022-04-12T07:50:59.493Z artillery:worker { id: 1, ts: 1649749859493, event: 'phaseCompleted', phase: { duration: 1, arrivalRate: 1, mode: 'uniform', index: 0 } } 2022-04-12T07:50:59.493Z runner All phases launched 2022-04-12T07:50:59.497Z engine.io-client:polling polling got data 96:0{"sid":"T7IiY7tJTVbbGRBJAAYP","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}2:40 2022-04-12T07:50:59.497Z engine.io-client:socket socket receive: type "error", data "parser error" 2022-04-12T07:50:59.497Z engine.io-client:socket socket error {"code":"parser error"} 2022-04-12T07:50:59.497Z socket.io-client:manager error 2022-04-12T07:50:59.497Z socket.io-client:manager cleanup 2022-04-12T07:50:59.497Z socketio Error: server error at Socket.onPacket (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/socket.js:341:33) at XHR.Emitter.emit (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/@socket.io/component-emitter/index.js:143:20) at XHR.onPacket (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transport.js:109:15) at callback (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling.js:98:18) at Array.forEach (<anonymous>) at XHR.onData (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling.js:101:77) at Request.Emitter.emit (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/@socket.io/component-emitter/index.js:143:20) at Request.onData (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js:200:14) at Request.onLoad (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js:241:18) at XMLHttpRequest.xhr.onreadystatechange (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js:158:26) 2022-04-12T07:50:59.498Z socket.io-client:manager disconnect 2022-04-12T07:50:59.498Z socket.io-client:manager closed due to forced close 2022-04-12T07:50:59.498Z socket.io-client:manager cleanup 2022-04-12T07:50:59.498Z engine.io-client:socket socket close with reason: "forced close" 2022-04-12T07:50:59.498Z engine.io-client:polling transport not open - deferring close 2022-04-12T07:50:59.498Z engine.io-client:socket socket closing - telling transport to close 2022-04-12T07:50:59.498Z runner Error: server error at Socket.onPacket (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/socket.js:341:33) at XHR.Emitter.emit (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/@socket.io/component-emitter/index.js:143:20) at XHR.onPacket (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transport.js:109:15) at callback (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling.js:98:18) at Array.forEach (<anonymous>) at XHR.onData (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling.js:101:77) at Request.Emitter.emit (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/@socket.io/component-emitter/index.js:143:20) at Request.onData (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js:200:14) at Request.onLoad (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js:241:18) at XMLHttpRequest.xhr.onreadystatechange (/home/marcel/Documents/fiddles/artillery-examples-fork/socket-io/node_modules/artillery/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js:158:26) ⠇ 2022-04-12T07:51:00.494Z ssms _aggregateRates to 1649749890000 2022-04-12T07:51:30.000Z ssms mergeBuckets // timeslices: 1649749850000 +0ms -------------------------------------- Metrics for period to: 09:51:00(+0200) (width: 0.012s) -------------------------------------- errors.Error: server error: .................................................... 1 vusers.created: ................................................................ 1 vusers.created_by_name.Emit and validate response: ............................. 1 vusers.failed: ................................................................. 1 ssms mergeBuckets // timeslices: 1649749850000 +2ms All VUs finished. Total time: 2 seconds -------------------------------- Summary report @ 09:51:00(+0200) -------------------------------- errors.Error: server error: .................................................... 1 vusers.created: ................................................................ 1 vusers.created_by_name.Emit and validate response: ............................. 1 vusers.failed: ................................................................. 1 commands:run shutting down 🦑 +0ms commands:run Graceful shutdown initiated +0ms commands:run Cleanup finished +0ms
I'm having same issue
I have tried artillery version 2.0.0-14 with the given example.
You can clone the repository here: https://github.com/InsOpDe/artillery-examples/tree/main/socket-io
after installing and running the server I receive the following report
full report with 1s and 1 arrivalrate and
debug=*
: