Giter Site home page Giter Site logo

gatling / gatling Goto Github PK

View Code? Open in Web Editor NEW
6.3K 233.0 1.2K 60.76 MB

Modern Load Testing as Code

Home Page: https://gatling.io

License: Apache License 2.0

JavaScript 0.18% CSS 0.60% HTML 1.01% Scala 61.39% Java 33.50% Kotlin 3.32%
netty scala loadtesting automation gatling load-testing java

gatling's People

Contributors

amerousful avatar blemale avatar ccedric avatar gatling-ci avatar gemiusz avatar github-brice-jaglin avatar gplassard avatar guilgaly avatar henri-tremblay avatar hugocrd avatar isammoc avatar jamespic avatar lloydwes avatar mushketyk avatar neoware avatar nire avatar notdryft avatar nremond avatar pdalpra avatar phisgr avatar pwielgolaski avatar rsertelon avatar scala-steward-gatling[bot] avatar siman avatar skuenzli avatar slandelle avatar stb13579 avatar tekul avatar tpetillot avatar ybenkhaled avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gatling's Issues

Graphs - set step automatically for x axis

With a long scenario executing, there will also be a lot of different times showed on the X axis of the graphs.

When there are too much of these, they overlap and it is impossible to read the values.

Implements a Stat Viewer

We need to produce charts. Probably use http://www.highcharts.com/demo/line-ajax

  1. At first, we can have static HTML pages generated from the raw data and accessing stats files.
  2. Once we can log and compute stats into a database, we'll need a webapp (maybe use an embedded jetty or tomcat)

Required pages :

global :
*) number of active sessions (total and per scenario) timed chart
*) number of requests per second (success and failures) timed chart --> count requests in 1 sec windows

per request name :
*) min, max, medium, standard deviation, 90% range
*) dispersion chart

Save scenario execution data to file

  • Date du run -- done
  • timestamp de l'envoi de la requete -- done
  • temps de réponse -- done
  • nom de scnério -- done
  • nom de la requete -- done
  • userId -- done
  • OK/KO + message -- new issue #5

Request body support

If the body is static (like file upload), make use of AHC zero copy capability.

If the body is dynamic, make use of a templating engine like freemarker.

Binaries packaging

Decide what kind of packaging we'd provide : a zip bundle with predefined folders (lib, conf, scenario, etc...), a assembly with all the modules and dependencies, etc...

DSL: Easily create a http request

Requests could be either POST or GET requests.

For both types of requests, there could be parameters.

For POST requests, also refer to issue #14

Precompile templates

We can precompile templates with a maven plugin.

For now, there is a problem as it uses a Servlet dependant Context. (see comment in pom of gatling-stats)

Feeder as a queue

Make feeder as a queue and store its content in the context when a request asks for it.

Implement a stat computer

We need a module to compute stats from raw data, like nb of transaction per sec.

  1. At first, we probably just need a simple implementation that consumes raw files and generate as many files as graphs.

  2. In the long term, we'll need a clean implementation that logs and computes stats in a database.

pause() should have two definitions

When we call pause in the scenario, we should be able to specify either:

  • a value in seconds => pause(3) will make a pause of 3 seconds
  • a value followed by its TimeUnit => pause (3000, TimeUnit.SECONDS) will do the same as above

POST JSON

We need to provide users with the ability to post JSON. Thay could simulate access to Web Services and/or Ajax calls etc.

Make JQuery and HighCharts files local

For development purpose, JQuery and Highcharts files are accessed via internet.

For users to be able to use Gatling offline, these files need to be in the package.

Time Scale on Graphs

As we only log requests, times are discrete. The problem is that on the graph, the time axis is not normalized, therefore, all values are equally distributed even if the intervals between them are not the same.

POST XML

As well as JSON, we need to provide support for XML requests

Implement feeders

We need a way to provide context data from external feeds, like a file containing users and passwords.

Implement configuration mechanism

Lots of things should be configurable: Akka, AHC, stat handlers implementations, database, etc..

Have a look at configgy used by Akka.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.