Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Enable profiling in Checkmk

    Info

    WATO - CONFIGURATION → Global Settings → USER INTERFACE

    Don't use 'Enable profiling by for all 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

    Code Block
    languagebash
    root@cmk-VirtualBox:~# pip install snakeviz


  3. Modify the URL to profile by adding '&_profile=1'

    Code Block
    languagebash
    http://localhost/nagnis_master/check_mk/view.py?view_name=allhosts&_profile=1


  4. Now two files are created in ~/var/check_mk/


    Code Block
    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

      Code Block
      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

      Code Block
      languagebash
      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

      Info


      Code Block
      anastasios@klappanas:/tmp$ snakeviz multisite.profile


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

...