GithubHelp home page GithubHelp logo

isabella232 / tank Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intuit/tank

0.0 0.0 0.0 45.69 MB

Tank is a downloadable application that can be used to load test websites

License: Eclipse Public License 1.0

Shell 0.05% JavaScript 12.66% Java 76.32% Groovy 0.01% CSS 0.35% HTML 3.38% Batchfile 0.01% Lex 7.23%

tank's Introduction

Build Status Build Status GitHub release java tomcat

Intuit Tank

Intuit Tank is a load test platform that runs in a cloud environment. It currently supports Amazon web interfaces and utilizes services from EC2, S3, CloudWatch (Logs/Metrics).

Intuit Tank has two main components: A controller and agents.

The Controller is the central hub in the deployment. It supports the GUI for managing tests and for orchestrating. It utilizes Apache Tomcat for a web container and communicates with the agents via http. It exposes a RESTful interface for invoking services. Data is stored in a MySql database, on the file system, and reporting metrics can be stored in CloudWatch Metrics, S3, DynamoDB or Wavefront.

Agents are instantiated on demand and exist for the duration of a test. They communicate with the controller via RESTful interfaces.

Documentation

You can find all the Documentation for Tank at Tank Documentation

Building Intuit Tank

Intuit Tank uses Maven and should be able to be built using public repositories. You may need to increase the default memory settings for maven to build. e.g. export MAVEN_OPTS="-Xmx1g"

There are several profiles (for the initial build you should build the release profile so that the installation guide is built. e.g. mvn clean install -P release)

  • default -- builds source but does not build the docs or package tools.
  • release -- default plus docs and all tools and signs them using a self signed certificate.
  • coverage -- runs jacoco code coverage.
  • static-analysis -- runs checkstyle and findbugs.

There are several artifacts that are important.

  • web/web_ui/target/tank.war -- the main deployment file. Intended for deployment to a tomcat web server.
  • agent/agentManager_pkg/target/agent-startup-pkg.zip -- the agent app that gets started when the agent starts and manages communicating with the tank controller and coordinating the tests.
  • tools/agent_debugger_pkg/target/Tank-Debugger-all.jar -- the visual debugger jar. can be launched to debug scripts or projects.
  • tools/script_filter_pkg/target/Tank-Script-Runner-all.jar -- the visual script filter tool for writing scripts to filter or manipulate scripts on import.
  • proxy-parent/proxy_pkg/target/Tank-Proxy-pkg.jar -- the proxy recording tool. A Tool to record scripts using your browser.

Quickstart

There is a shell script to install and configure a standalone controller and agent and configured with a java database for Mac and Linux. Windows users should install some POSIX tooling such as Babun or Cygwin. It can be downloaded from our public site or in the root of the distribution. You can use this version for small tests to try out the tools but should not use it for large scale or production testing.

Guides

Installation guide and User guide can be found in the docs folder and are built with the source. and can also be found on our wiki.

Issues & Contributions

Please open an issue here on GitHub if you have a problem, suggestion, or other comment.

Pull requests are welcome and encouraged! There are eclipse code format templates in the dev_environment folder. Any contributions should include new or updated unit tests as necessary to maintain thorough test coverage.

License

Tank is provided under the Eclipse Public License - Version 1.0

FAQ

Please see our FAQ on our wiki.

tank's People

Contributors

kevin-mcgoldrick avatar dangleton avatar bryaan avatar kmarquardsen avatar shawn-h-park avatar dependabot[bot] avatar bhylan avatar kevinmcgoldrick avatar mayhs19 avatar tonyhernandez avatar mani-sreekakula avatar sarthakgupta072 avatar girijasameera 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.