Live Monitoring and Analysis of Performance Testing Using Panopticon Streams and Visualizer

Bhagyaraj Mullangi
Bhagyaraj Mullangi
Altair Employee
edited January 2023 in Altair RapidMiner

There are many performance tools available to test web UI's and API's. Most of these tools provide static reports. To analyze past results is a not a trivial task. Either you parse the data or you must look for plugins to review and determine the root cause of the problem. You must determine where and when the sudden peaks appear. We can't really do root cause analysis and forensic analysis of performance issues, but early detection of these issues is essential to improving agile release methodologies.


Solution

We set up our Altair® Panopticon™ streaming analytics platform to help us perform root cause analysis of performance issues. Here is the configuration:

image

Confusing? Not Really...!

We used Docker to simplify the infrastructure which is easy to port anywhere in the world.

Step 1:

We used the performance testing tool Locust to test the API's for our Altair SmartWorks Hub Cluster in UK. It runs and executes the loads and publishes the default reports as shown below:

image

Step 2:

We utilized the Locust plugin Time Series PostgreSQL using Docker Compose (Locust-Timescale Postgres) to analyze the results. The API's performance data is stored in the PostgreSQL database. In the block diagram above, note the box Docker box (Locust-Timescale Postgres).

Step 3:

We need to read and stream the data to analyze it, so we piped the PostgreSQL database to the Altair Panopticon Streams event processing engine.

Step 4:

We fed the data from Panopticon Streams to a Panopticon dashboard. We can see all the results and create as many reports as needed. We can export data, export data to a PDF file, or share the URL for real time analysis to all stake holders in the world.

Panopticon Dashboard Reports

image

System Resources Displayed in a Panopticon Dashboard

image

We can view the reports while running load tests and at any later time since data has been stored inside a PostgreSQL database.

Watch this short video to see the system in action:


 

 

Software Versions Used

PyCharm 2021.3.3 (Community Edition)-for Locust 

  • System under Test  - http://10.216.7.40:8989 – Analytics Appliance –Altair SmartWorks Hub
  • Docker Version 19.03.5
  • psql (PostgreSQL) 13.7
  • apache-tomcat-9.0.65
  • Altair Panopticon Streams v2022.1
  • Altair Panopticon Visualization v2022.1
  • PostgreSQL JDBC connector - postgresql-42.3.3.jar
  • Altair License Manager (ALM) v15.0 build 29 – License File Version-VERSION = 21.0

About Me

Bhagyaraj has been with Altair for ten years. His passion is to explore new things and leverage existing solutions to decode real time issues.

Credits

@Bhuvana @Rohin backbone for infrastructure and provided additional support.

@Sreedhar Krishnamurthy for his help with video callouts.

@Kapil Dev and Akhilesh Upadhyay  for their implementation of visualization techniques to complete the POC in a timely manner.

@Vrashabharaj Jain and @Anamika Upadhyay for developing this project to explore how Altair can contribute to COE performance testing.

Comments