Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-65349

Profiling profilingincluded and profilingexcluded match anywhere in the url, not the full url

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      1) Mostly this is covered by unit tests now.

      2) From the GUI:

      /admin/settings.php?section=profiling

      Test the existing instructions verbatim:

      List of (comma or newline separated, absolute skipping wwwroot, callable) URLs that will be automatically profiled. Examples: /index.php, /course/view.php. Also accepts the * wildchar at any position. Examples: /mod/forum/*, /mod/*/view.php.eg 

      Eg setup a pattern of "/index.php"

      3) Now visit pages such as /my/index.php - these should NOT be profiled

      4) Make sure that /index.php IS profiled

      Show
      1) Mostly this is covered by unit tests now. 2) From the GUI: /admin/settings.php?section=profiling Test the existing instructions verbatim: List of (comma or newline separated, absolute skipping wwwroot, callable) URLs that will be automatically profiled. Examples: /index.php, /course/view.php. Also accepts the * wildchar at any position. Examples: /mod/forum /*, /mod/*/ view.php.eg  Eg setup a pattern of "/index.php" 3) Now visit pages such as /my/index.php - these should NOT be profiled 4) Make sure that /index.php IS profiled
    • Affected Branches:
      MOODLE_35_STABLE, MOODLE_36_STABLE, MOODLE_37_STABLE
    • Fixed Branches:
      MOODLE_38_STABLE
    • Pull Master Branch:
      MDL-65349-profile-match-greedy

      Description

      Each of the entries in profilingincluded and profilingexcluded is treated as a search with wildcards BUT I have always assumed that it would behave like a regex with "^search$" but it doesn't, it finds a match anywhere.

      So for instance $CFG->profilingincluded = "summ"; will match '/admin/tool/dataprivacy/summary.php'. The field comments make it sound like you should have done

      "*summ*"
      

       if you wanted this. The first example of '/index.php' will match tons of pages, including /admin/index.php and /admin/tool/profiling/index.php, so there is no way to only profile the home page.

      It isn't unit tested either.

      https://github.com/moodle/moodle/blob/master/lib/xhprof/xhprof_moodle.php#L435-L449

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              brendanheywood Brendan Heywood
              Reporter:
              brendanheywood Brendan Heywood
              Peer reviewer:
              Matt Porritt Matt Porritt
              Integrator:
              Eloy Lafuente (stronk7) Eloy Lafuente (stronk7)
              Tester:
              Eloy Lafuente (stronk7) Eloy Lafuente (stronk7)
              Participants:
              Component watchers:
              Andrew Lyons, Dongsheng Cai, Huong Nguyen, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze, Matteo Scaramuccia, Andrew Lyons, Dongsheng Cai, Huong Nguyen, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                18/Nov/19

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 55 minutes
                  55m