MantisBT - Xdebug
View Issue Details
0001589XdebugProfilingpublic2018-11-26 16:592018-12-06 10:43
asoki 
derick 
normalminoralways
acknowledgedopen 
2.7.0beta1 
 
tested on mac and linux
7.1.15-7.1.19
0001589: function names used in auto_prepend_file missing from main cachegrind file
When profiling scripts over http/https in environments where auto_prepend_file or auto_append_file is configured, xdebug creates separate files at least for the prepend, main and append parts.

These files are not complete because the functions names of functions appeared eg. first in a prepended script missing from all subsequent cachegrind files of the the same run.
This occurs always when xdebug creates multiple files (maybe for cycles, error handlers, etc.) for the same script run.
Extract the testcase and profile xdtest/index.php over http/https
or see the included sample files in the "output" folder
In the folder output/append is a sample file with the config option xdebug.profiler_append=1
In the testcase I used strlen and substr in the prepend.php, now, the name of these functions is missing from the profiling output of index.php and append.php
All the function aliases seems to be the shared between the files, so an append or concatenating should be possible.


I think when xdebug creates separate files, all of these files should be readable standalone without the need for appending other files.
or is there already a config option I missed to append the files only of one run into the same file without the "==== NEW PROFILING FILE.." marker?
No tags attached.
gz xdebug-testcase.tar.gz (1,538) 2018-11-26 16:59
https://bugs.xdebug.org/file_download.php?file_id=442&type=bug
Issue History
2018-11-26 16:59asokiNew Issue
2018-11-26 16:59asokiFile Added: xdebug-testcase.tar.gz
2018-11-26 17:08derickNote Added: 0004727
2018-11-26 17:09derickAssigned To => derick
2018-11-26 17:09derickStatusnew => acknowledged
2018-12-06 10:43derickNote Added: 0004748

Notes
(0004727)
derick   
2018-11-26 17:08   
I think I know the reason for this. It's not that they're not present, but it's because they are still cached with a number.
(0004748)
derick   
2018-12-06 10:43   
I have a fix, but I'm sorting out some other things before I can merge this.