-
Bug
-
Resolution: Fixed
-
Minor
-
4.1.5, 4.2.2, 4.3
-
MOODLE_401_STABLE, MOODLE_402_STABLE, MOODLE_403_STABLE
-
MOODLE_401_STABLE, MOODLE_402_STABLE
-
MDL-79285_401 -
Detected @ MDL-76397, and also when trying to use XHProf here and there...
The complexity of our requests has grown enormously, with way more code involved on each (aka, super big stack traces, basically).
Also, more specifically, the use of Mustache templates, with all their partials, nested... have made XHProf profiling runs to near double in size.
While the visualisation in table mode of those profiling runs in "table mode" is still acceptable (no matter the enormous noise that the Mustache templates add), right now it's impossible to render a "callgraph" with the critical paths and other useful information.
So, this issue is about to:
- Introduce some way to "reduce" the information available in XHProf profiling runs.
- Apply such a reduction specifically to the Mustache templates calls.
- By default, use that "reduced" information when displaying call-graphs.
- By default, use the "full" information when displaying in table mode.
- Optional: Be able to pick between full and reduced in table mode.
This has some requirements, namely:
- The backed (database) always will store the full runs.
- The "reduction" will happen on demand when presenting the information (table or graph).
- The "reduction" needs to be consistent, not leading to "orphaned" data that can lead to misleading information.
- The need of hacking the xhprof library needs to be the smallest possible. Ideally zero (although I bet we'll need to add some line here and there).
- Covered with tests as much as possible.
And the goals are:
- General: To have a working system in place to "reduce" profiling runs information.
- Specific: To be able to get the call-graphs back to work, right now it's virtually impossible because of the complexity added by the Mustache templates.
Ciao