Tank is a downloadable application that can be used to load test websites
Clone or download
kevin-mcgoldrick Bump version to 2.2.6 (#64)
* distributed instance requests (#59)

* intellij suggestions

* remove jquery-ui dir
list.addAll replacement

* pom library updates

* Fix missing stylesheet in docs

* Library Updates

* ProjectDao cleanup

* Revert "ProjectDao cleanup"

This reverts commit cb84352.

* ProjectDao cleanup (2)

* Less config file reads

* removed some deprecated closeQuitely

* Never return an empty number of users
SRE-3170

* jobRegion.users required=true
SRE-3170

* validate number between 0-999999 users
SRE-3170

* require integer for initial users and increment
SRE-3170

* larger number of users

* Logging Instance Requests

* Testing distributed instance requests

* Testing distributed instance requests (1)

* Testing distributed instance requests (2)

* Reduce logging

* Randomly choose first subnet

* Request Agent AMI from AWS SSM

* Request Agent AMI from AWS SSM (1)

* Request Agent AMI from AWS SSM (2)

* Request Agent AMI from AWS SSM (3)

* Request Agent AMI from AWS SSM (4)

* PrimeFaces 6.2 (#60)

* PrimeFaces 6.2 update

* upgrade weld

* Up Versions

* wrap f:viewAction in f:metadata

* LogViewer

* Debug Log Viewer

* Fix CodeMirror javascript

* works this way

* Remove ContextType definition
because: SEVERE [http-nio-8080-exec-6] com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError java.lang.IllegalArgumentException: Unrecognized Content Type.

* Resolve RES_NOT_FOUND for css

* Resolve RES_NOT_FOUND for css (2)

* Resolve RES_NOT_FOUND for css (3)

* Resolve RES_NOT_FOUND for css (4)

* Resolve RES_NOT_FOUND for css (5)

* Resolve RES_NOT_FOUND for css (6)

* Resolve RES_NOT_FOUND for css (7)

* Reset back to Production

* Update graphicImage to use library tag

* consistent JSF library use

* consistent JSF library use (2)

* use more jquery icons

* use more jquery icons (2)

* use more jquery icons (3)

* use more jquery icons (4)

* use more jquery icons (5)

* update faces-config

* add redirect tag

* use more jQuery icons (6)

* update buildspec to 0.2

* Empty commit to trigger post_receive hooks

* Library updates (#61)

* update pom dependencies

* jUnit 5 changes

* Fix proxy recorder by rolling back commons-collections version
commons-configuration has a dependency on the old version

* Cleanup up PickList usage

* Revert to Primefaces 6.1

* Remove wagon-webdav-jackrabbit
AWS codeBuild will not resolve the dependency , ReasonPhrase:Forbidden.

* Restore Filtering

* Redirect for reapply-filters.xhtml

* adding logo to be used by the OS Site (#62)

* Json logging (#63)

* jsonlayout logging

* Consistent JSON logging
beyond the ThreadLocalLogEvent

* Verbose logging on Validation failures

* more logUtil usage

* Update logging for consistency

* Add guava lib to the war deployment

* Update lucene 3.6.2 -> 4.10.4

* more json logging

* one more logging change

* close httpclient one thread completion, or kill

* Bump version to 2.2.6
Latest commit 74bf78f Nov 20, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github automation service accept name passed to it Jul 27, 2017
agent Bump version to 2.2.6 (#64) Nov 20, 2018
api Bump version to 2.2.6 (#64) Nov 20, 2018
assets removed extraneous license files and hard coded contributors from par… Jun 23, 2017
aws-config Bump version to 2.2.6 (#64) Nov 20, 2018
certs initial commit Mar 19, 2015
data_access Bump version to 2.2.6 (#64) Nov 20, 2018
data_model Bump version to 2.2.6 (#64) Nov 20, 2018
dev_environment initial commit Mar 19, 2015
doc Bump version to 2.2.6 (#64) Nov 20, 2018
docker-experimental added start to using docker compose for spinning up mysql and tomcat … Jul 27, 2017
harness_data Bump version to 2.2.6 (#64) Nov 20, 2018
mail Bump version to 2.2.6 (#64) Nov 20, 2018
proxy-parent Bump version to 2.2.6 (#64) Nov 20, 2018
reporting Bump version to 2.2.6 (#64) Nov 20, 2018
rest Bump version to 2.2.6 (#64) Nov 20, 2018
script_processor Bump version to 2.2.6 (#64) Nov 20, 2018
search Bump version to 2.2.6 (#64) Nov 20, 2018
tank_common Bump version to 2.2.6 (#64) Nov 20, 2018
tank_vmManager Bump version to 2.2.6 (#64) Nov 20, 2018
test_support Bump version to 2.2.6 (#64) Nov 20, 2018
tools Bump version to 2.2.6 (#64) Nov 20, 2018
web Bump version to 2.2.6 (#64) Nov 20, 2018
.gitignore added intellij files to gitignore Jun 5, 2017
.travis.yml add oraclejdk8 to travis.yml Jan 6, 2017
License.md added github license file Jun 23, 2017
all-in-one.sh added all in one script to codebase and the documents. May 2, 2015
buildspec.yml Bump version to 2.2.6 (#64) Nov 20, 2018
dictionary.txt initial commit Mar 19, 2015
os-project-logo.svg Bump version to 2.2.6 (#64) Nov 20, 2018
pom.xml Bump version to 2.2.6 (#64) Nov 20, 2018
readme.md removed extraneous license files and hard coded contributors from par… Jun 23, 2017

readme.md

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, and DynamoDb.

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 Tomcat 6x 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 in DynamoDb.

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

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="-Xmx1024m -XX:MaxPermSize=128m"

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.
  • clover -- runs clover 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.