Binalyze AIR Console CPU Profiling for Performance Issues

CPU issues are not uncommon in software development and can be frustrating. Therefore, software development teams sometimes need very detailed information about the processes and CPU load to understand the issues better. This document describes how to get detailed information about the processes and CPU load by using CPU profiling.

Symptoms

If you experience the symptoms below, profile CPU and send the resulting CSV document to our support team at [email protected]

  • Slowdowns and lags in the graphical user interface

  • Some other performance issues are experienced

CPU Profiler

CPU Profiler shows what functions consume what percent of CPU time. This information can provide you with a better understanding of how your application is executed and how exactly resources are allocated.

Profiling

You can initiate CPU profiling by sending a signal to the Binalyze AIR Console processes. Binalyze AIR Console AIR works with more than one process according to the number of cores. Profiling using one of these is usually sufficient, but we should do at least half of it for the best results.

List the processes with the ps command in the Docker container.

docker exec -ti binalyze-air-app-1 sh
ps

Run the following command with the ID value of one of the other processes except for the one with an id value of 1. Profiling will start with the command below and end when you run the same command again. It will automatically end after 5 minutes if you don't stop it.

After running the command, you should start doing the operations that cause performance problems via Binalyze AIR Console.

For example, if the CSV Import operation causes performance problems, we should import CSV after starting profiling.

kill -USR1 <Process_Id>

After you stop the process, a profile file will be created in the current directory. Example: profile_1681501753028.cpuprofile

We should exit the container and copy this file to the host server.

exit
docker cp binalyze-air-app-1:/binalyze-air/<Profile_File_Name>

This file needs to be sent to our support ([email protected]) team for a detailed examination.

Last updated