Giter Site home page Giter Site logo

barrage's People

Contributors

cjimison avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

barrage's Issues

Add support for random selection node

The random selection node should pick one node from all its children and execute that node. You can also set a "count" value as to how many times you want to randomly select the node.

It would also be cool if I added a field for "timed" wait. The idea would be you will randomly select a block on child nodes for up to N amount out time. This could simulate a game sessions or something alongs those lines.

Results report

Now that I am running stuff, it would be great if I could get an actual report with the timing of the requests. This data should be able to feed into a graph. JSON maybe a good format given that I think I will just stick a front end over the load testing system in HTML

Distributed commanders are broken AGAIN!

Looks like the general is not sending off the attack requests to all the commanders except for the one it creates assuming it creates one. I need to figure out what went wrong here!

Periodic behaviours

Have a way to define behaviours that run every X seconds. For example: check inbox every 30 seconds.

Input data source for actions

Have a data source to choose certain request parameters. Let's say we could have a json file to choose random users at the login action. Or have another json to pick quest ids sequentially.

composite behaviors

It would be super cool if you can add a "behavior" as a child to a node. That way people can make stuff like "login" that may take 3 or for "actions" and then just reference that.

Refactor barrage_commander to deal with fault better

Right now if a gunner gets stalled out or put in a bad state the whole commander is in lockdown. I really need to handle fault better in the commander given that this system is testing other systems so error should be expected.

Streaming data results

On thing that really sucks at the moment is you don't get to see any results or know the status of you test until it is completed. Not a big problem if you test is short, but if it is long running this can be a very big problem. I need to refactor the system (and the web interface) to allow for streaming input data.

Better sorting of results

Currently with the block run the sorted results sucks. I should log the order data is received by the gunners and sort based on that. This would give a better "time" prediction on what the response times are.

Refactor barrage_gunner to deal with fault

Currently the system is very my way or the highway kind of thing. The only problem is this system is testing other systems that maybe buggy. I need to verify all incoming data (such as actions definitions, or JSON from servers), and if it fails, report it as a failure for the test. Not just fail the process which will hang the commanders and stall the generals.

Support for the barrage.config file

I would like to have support for a basic barrage.config file. This should hold the following data:

  1. Type <== Is this a general or a commander node in the cluster
  2. Server <== What the load testing server we are barraging
  3. Host <== If this is not a general node then who is..

Time factor

"wait" and "random_wait" actions could have a time factor either to accelerate or slow down time.

Add support for web based configurations

Right now everything has to be configured via the config files. This is great but it assumes some understanding of how erlang reltools work (vm.config, sys.config). I want to make it possible for people to set these systems up faster without having to understand erlang systems.

replace httpc with ibrowse

From the looks of the graph, my httpc requests are pooling up. I think this is because all httpc calls are being sent to one gen_server that is executing the requests in order. This makes a lot of sense as to why my graphs tend to start off big and then tail down.

Move project to gitflow

Using only master as a branch sucks and is stupid. Git-flow is awesome, is becoming a standard, and has tools around it. So use git-flow!!!

Add support for configuration Modules

add support for configuration to be broken up into Modules and imported into other Modules, so that complex configuration doesn't have to be one big honking blob of JSON

thanks!

Add support for DO action

The do action will execute an action N times. With N being a value passed into the args.

This would be good for preparing a DB with random data

USECASE : OAUTH

I should come up with a use case that tests an oauth based session

Add support for post requests

Currently I am only support post commits. It would be great if I could support more http request types, but hey, lets start simple. Just a post would be nice :)

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.