Skip to content

Demo for Perfana, the continuous performance testing dashboard

Notifications You must be signed in to change notification settings

perfana/perfana-demo

Repository files navigation

Perfana demo

Demo environment

The Perfana demo environment can be used to try out all the features. It uses Docker compose and has a all components to emulate a live-like environment for Perfana, including an application to run a performance test.

Prerequisites

Getting started

  • Clone perfana-demo repository

    git clone https://github.com/perfana/perfana-demo.git

    or download here

    If you use the download option, make sure to extract the zip to a directory named perfana-demo!

  • Inside the repository root run

    ./start.sh

This spins up a number of containers

Container Description exposed to local port
perfana-fe Perfana front end 4000
perfana-grafana Perfana - Grafana integration service n/a
perfana-snapshot Perfana snapshot service n/a
perfana-check Perfana results check service n/a
perfana-scheduler Perfana schduled jobs n/a
perfana-ds-api Perfana data science api 8080
perfana-ds-worker Perfana data science api n/a
perfana-ds-metric-worker Perfana data science api n/a
mongodb MongoDb replicaset to store Perfana configuration 27011 / 27012 /27013
grafana Grafana graphing dashboard 3000
influxdb InfluxDb metrics datastore 8086 / 2003
telegraf Telegraf metrics agent n/a
prometheus Prometheus metrics datastore 9090
alertmanager Alertmanager handles alerts from Prometheus 9093
afterburner-fe Springboot test application 8090
afterburner-be Springboot test application n/a
mariadb Database used by test application n/a
jaeger Distributed tracing 16686
tempo Distributed traces backend 3100
loki Loki for parsing logs n/a
Pyrocope Continuous profiling 4040
wiremock Mocking tool 8060

To stop all containers, run

./stop.sh

To remove all containers, use

./clean.sh

When you use the clean.sh script, all of the data inside the containers will be lost!


Automatically detect regressions

The start.sh script will run 3 baseline test runs for the afterburner system under test while in baseline mode

To deploy a version of the test application with a performance issue, run

./deploy-and-test.sh cpu

or

./deploy-and-test.sh pool

Exploring the demo environment

Perfana

To log into Perfana, open http://localhost:4000 and use admin@perfana.io as user with password perfana. If you want to log in as a non-admin user, you can try users daniel@perfana.io or dylan@perfana.io, both with password perfana

To view Tempo traces and Pyroscope profiles for your test runs, set Tracing service name and Pyroscope appliication name to afterburner-fe in the Global settings in the System under test setting, found in the sidebar.

Grafana

To log into Grafana, open http://localhost:3000 and use perfana as user with password perfana

Update

The perfana-demo repository is updated frequently, so to get the latest and greatest pull repo and images.

git pull && docker-compose pull

Credits

The database used in this demo setup is created from a subset of data from https://github.com/datacharmer/test_db

About

Demo for Perfana, the continuous performance testing dashboard

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published