GithubHelp home page GithubHelp logo

dora's Introduction

Dora the Explorer

Endpoints

  1. GET / Hello Dora
  2. GET /id The id of the instance
  3. POST /session Sets up the cookies for a sticky session
  4. POST /stress_testers?cpu=1&io=1 Starts the stress tester with 1 cpu and 1 io process
  5. GET /stress_testers Gets all the stress testers processes
  6. DELETE /stress_testers Kill all the stress testers processes
  7. GET /find/:filename Finds a file in your instance
  8. GET /sigterm Displays all possible sigterms
  9. GET /delay/:seconds Waits for n seconds
  10. GET /sigterm/:signal Sends the specfied signal
  11. GET /logspew/:bytes Spews out n bytes to the logs
  12. GET /loglines/:linecount Writes n lines to stdout, each line contains a timestamp with nanoseconds
  13. GET /loglines/:linecount/:tag Writes n lines to stdout, each line contains a timestamp with nanoseconds and the given tag
  14. GET /log/sleep/count Returns a count of the log messages logged by the log service
  15. GET /log/sleep/running Returns whether the log service is running
  16. GET /log/sleep/:logspeed/limit/:limit Produces logspeed output with the given parameters
  17. GET /log/sleep/:logspeed Produces logspeed output without limit
  18. GET /log/stop Stops the log service
  19. GET /log/bytesize/:bytesize Produces continuous log entries of the given bytesize
  20. GET /echo/:destination/:output Echos out the output to the destination
  21. GET /env/:name Prints out the environment variable :name
  22. GET /env Prints out the entire environment as a serialized Ruby hash
  23. GET /env.json Prints out the entire environment as a JSON object
  24. GET /largetext/:kbytes Returns a dummy response of size :kbytes. For testing large payloads.
  25. GET /health Returns 500 the first 3 times you call it, "I'm alive" thereafter
  26. GET /ping/:address Pings the given address 4 times
  27. GET /lsb_release Returns information about the Linux distribution of the container
  28. GET /dpkg/:package Returns the output of dpkg -l for the given packange
  29. GET /myip Returns the IP of the app container
  30. GET /curl/:host/?:port? cURLs the given host and port and returns the stdout, stderr, and status as JSON

Sticky Sessions

There is a helper script in this directory: get_instance_cookie_jars.sh

  • specify number of expected instances with -e #
  • specify maximum number of tries with -m #

The script will create cookie jars in the current directory, using the filename pattern cookie_jar_<instance_id>.cjar

To direct a curl request to a particular instance, specify -b <cookie_jar_file> on the curl command line.

Or, to set up a sticky session manually:

  1. Get your sticky session by running:
curl -d '' dora.yourdomain.com/session -c instance_1
  1. Run with a different filename for each instance, and repeat the curl command until you get a new ID
curl -d '' dora.yourdomain.com/session -c instance_2
  1. Then you can target whatever instance you want for example:
curl dora.yourdomain.com/stress_testers -b instance_2

dora's People

Contributors

abonillabeeche avatar

Watchers

James Cloos avatar  avatar

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.