Giter Site home page Giter Site logo

woodpecker's Introduction

Woodpecker

Code Climate

Woodpecker is a Python package that aims to be a lightweight --- but complete --- load generator and analysis tool for various environments.

While other far more famous tools like HP LoadRunner(R) or Apache JMeter either propose a complex and heavy application to perform load tests or require a very expensive license to work, Woodpecker's main focus is on easiness of use, small memory footprint and smartness in data analysis --- and, most of all, it is an Open Source Software since is released under the GNU LGPL version 3 license.

This project is still in development phase, but first benchmarks shows that the memory footprint for each Virtual User (here called spawn) is about 516 Kb. When the first development phase will be completed, this package will become publicly available for download from PyPi.

Requirements

At the moment the libraries required to run Woodpecker are the following:

  • python-dateutil
  • colorama
  • click
  • psutil
  • requests

All of them are hosted on PyPi and can be installed using pip or easy_install:

pip install -r requirements.txt

Planned features

  • Command-line interface to initialize scenarios, create transactions from HAR files, start/stop controller and remote spawners and analyze results
  • Fully portable results storage in a single SQLite3 file
  • Generic load profile generation by combination of basic ramp elements
  • Capability to generate load on:
    • Web pages using HTTP protocol
    • SOA services
    • Databases
    • Web Video Streams
    • Sockets
  • Powerful HTML report creation using the Jinja2 templating engine (with PDF output, too)
  • SLA support and real-time or a posteriori check
  • Easy parameters retrieval and reuse, also in different transactions
  • Custom transactions support
  • Requests result assertions
  • Different spawning logic (using threads or sub-processes) to optimize memory consumption different architectures
  • Easily switch between different load configurations by changing one parameter in command-line invocation
  • Embedded system monitor (CPU and memory usage) for both controller and spawners

woodpecker's People

Contributors

steromano87 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 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.