Search code examples
performanceload-testingserverlessamazon-sagemakerartillery

serverless artillery - how to view `slsart invoke` results?


Upon running the slsart invoke command, the deployed lambda is triggered and starts generating load against the target endpoint. However, once it finishes running there's no report generated in the CLI. Where can I find it?

I do see some results at the end of a lambda invocation but seems like the load I'm expecting triggers lambda multiple times and the results are split per lambda invocation which isn't easy to interpret. Looking for suggestions around finding the load test results the right way.

Command output:

$$ ~/load-test|⇒  slsart invoke --stage dev -V                                        [8/11/22 | 11:27:18]

    Invoking test Lambda

Serverless version is 1.40.0, compatible version is '^1.0.3'

    Your function has been invoked. The load is scheduled to be completed in 138 seconds.

undefined
$$

EDIT: Okay so it looks like results are published for relatively lower values for time and rate. Continues to fail publishing results with just "undefined" printed on the terminal for duration:120.

The below setting waits for the run to finish and dumps the results on my terminal:

  phases:
    -
      duration: 60
      arrivalRate: 10
      rampTo: 10

Solution

  • Turns out this is the expected behavior: At the end of the test serverless-artillery will generate a report of the test. Please note that this report is generated only for small load. See here for details. (source, here takes you here).