Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 19 Next »

It is possible to profile the rendering process of Multisite pages. This is done using the Python module cProfile. For viewing the profiling data, we use snakeviz.

SnakeViz is a viewer for Python profiling data that runs as a web application in your browser. It is inspired by the wxPython profile viewer RunSnakeRun.

Step-by-step guide

  1. Enable profiling in Checkmk

    WATO - CONFIGURATION → Global Settings → USER INTERFACE

    Don't use 'Enable profiling by request'. This option will profile a Multisite request randomly and you and at the most of the time it will be the slowest one.

  2. Install Python module

    root@cmk-VirtualBox:~# pip install snakeviz
  3. Modify the URL to profile by adding '&_profile=1'

    http://localhost/nagnis_master/check_mk/view.py?view_name=allhosts&_profile=1
  4. Now two files are created in ~/var/check_mk/

    root@klappanas:/opt/omd/sites/nagnis_master/var/check_mk# ll |grep multisite
    -rw-rw---- 1 nagnis_master nagnis_master 100246 Nov 6 13:35 multisite.profile
    -rwxr-xr-x 1 nagnis_master nagnis_master 155 Nov 6 13:35 multisite.profile.py*
    • By executing 'multisite.profile.py'  you can get runtime statistics about the last processed page

      root@klappanas:/opt/omd/sites/nagnis_master/var/check_mk# ./multisite.profile.py |more
      Fri Nov  6 13:35:33 2020    /omd/sites/nagnis_master/var/check_mk/multisite.profile
      
               9585 function calls (9480 primitive calls) in 0.007 seconds
      
         Ordered by: internal time
      
         ncalls  tottime  percall  cumtime  percall filename:lineno(function)
              1    0.001    0.001    0.002    0.002 /omd/sites/nagnis_master/lib/python/cmk/gui/modules.py:140(_cmk_gui_top_level_modules)
           4652    0.000    0.000    0.000    0.000 {method 'startswith' of 'str' objects}
      ...
      ...
      ...
      ...
    • For viewing multisite.profile with snakeviz, move the file to another directory (e.g. /tmp) and change the owner to the owner of your Internet Browser

      anastasios@klappanas:/omd/sites/nagnis_master/var/check_mk$ sudo cp multisite.profile /tmp/
      anastasios@klappanas:/tmp$ sudo chown anastasios:anastasios multisite.profile
      
    • Now you can use snakeviz for viewing the profiling file

      anastasios@klappanas:/tmp$ snakeviz multisite.profile

  5. Now you can analyze at which point of the request your view needs the most time!




  • No labels