Profiling Pages

In the Ocata release of Horizon a new “OpenStack Profiler” panel was introduced. Once it is enabled and all prerequisites are set up, you can see which API calls Horizon actually makes when rendering a specific page. To re-render the page while profiling it, you’ll need to use the “Profile” dropdown menu located in the top right corner of the screen. In order to be able to use “Profile” menu, the following steps need to be completed:

  1. Enable the Developer dashboard by copying _9001_developer.py from openstack_dashboard/contrib/developer/enabled/ to openstack_dashboard/local/enabled/.

  2. Copy openstack_dashboard/local/local_settings.d/_9030_profiler_settings.py.example to openstack_dashboard/local/local_settings.d/_9030_profiler_settings.py

  3. Copy openstack_dashboard/contrib/developer/enabled/_9030_profiler.py to openstack_dashboard/local/enabled/_9030_profiler.py.

  4. To support storing profiler data on server-side, MongoDB cluster needs to be installed on your Devstack host (default configuration), see Installing MongoDB. Then, change the bindIp key in /etc/mongod.conf to 0.0.0.0 and invoke sudo service mongod restart.

  5. Collect and compress static assets with python manage.py collectstatic -c and python manage.py compress.

  6. Restart the web server.

  7. The “Profile” drop-down menu should appear in the top-right corner, you are ready to profile your pages!