Sign inSign up

zooz/predator

By zooz

•Updated about 2 years ago

Distributed performance testing platform for APIs.

Image
0

500K+

zooz/predator repository overview

⁠Predator

⁠Distributed performance testing platform for APIs.

Predator manages the entire lifecycle of stress-testing servers, from creating performance tests, to running these tests on a scheduled and on-demand basis, and finally viewing the test results in a highly informative and live report.

It has a simple, one-click installation, built with support for Kubernetes, DC/OS and Docker Engine, and can persist the created performance tests and their reports in 5 different databases. It also supports running distributed load out of the box. Bootstrapped with a user-friendly UI alongside a simple REST API, Predator helps developers simplify the performance testing regime.

Installation⁠   |   Site⁠   |   Documentation⁠   |   API Reference⁠ |   API Tests Examples⁠

⁠Features

  • Distributed load: Predator supports an unlimited number of load generators that produce multiple load runners concurrently.

  • Real time reports: Predator aggregates all concurrent runs into a single beautiful report in real time (latency, rps, status codes and more).

  • Built for the cloud: Predator is built to take advantage of Kubernetes and DC/OS. It's integrated with those platforms and can manage the load generators lifecycles by itself.

  • One click installation: Predator can be installed with just one click in Kubernetes and DC/OS, or on any other machine running Docker.

  • Supports 5 Different databases: Predator provides out-of-the box functionality for persisting data in Cassandra, Postgres, MySQL, MSSQL and SQLITE.

  • Scheduled jobs: Predator can run recurring tests using cron expressions.

  • 3rd partry metrics: Predator comes integrated with Prometheus and Influx. Simply configure it through the predator REST API or using the UI.

  • Rich UI: Predator offers a rich UI along with a powerful REST API.

  • Based on artillery.io⁠: Predator uses artillery as its load engine to fire the requests. The schema for creating tests via the Predator REST API is based on the artillery schema.

⁠Running in docker

Without persisted storage:

docker run -d -e JOB_PLATFORM=DOCKER -e INTERNAL_ADDRESS=http://$MACHINE_IP:80/v1 -p 80:80 --name predator -v /var/run/docker.sock:/var/run/docker.sock zooz/predator

With persisted storage:

docker run -d -e SQLITE_STORAGE=db/predator -e JOB_PLATFORM=DOCKER -e INTERNAL_ADDRESS=http://$MACHINE_IP:80/v1 -p 80:80 --name predator -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/predator:/usr/db zooz/predator

where $MACHINE_IP is the local ip address of your machine (not localhost, but actual ip address - it is your local network address).

Tag summary

Content type

Image

Digest

sha256:28fa3e9a4…

Size

134 MB

Last updated

about 2 years ago

docker pull zooz/predator