View Issue Details

IDProjectCategoryView StatusLast Update
0002205XdebugTracingpublic2023-09-30 07:51
Reporterstanilnytskyi Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status newResolutionopen 
Summary0002205: Feature request to collect only I/O params, ligth version of xdebug.collect_params
Description

I noticed that recently there was improvement for the setting xdebug.collect_params
https://bugs.xdebug.org/view.php?id=2077

I also use this feature to trace the app but I found that tracing via xDebug is quite slow. About 10x slow as PHP-SPX.
However the ability co capture the arguments helps a lot with i/o debugging.
I am curious if it would be reasonable to extend the config or introduce the new one like xdebug.collect_params but limited to I/O data, e.g. SQL queries, HTTP requests etc.
Additionally the internal functions can be skipped on time based sampling can be introduced (like in php-spx)
I created a custom script to convert and computerized output into timeline that can be visualized in Chrome or other compatible trace viewers
https://github.com/ilnytskyi/xdebug-to-chromium-trace-converter

But the main obstacle with this approach is the xDebug performance and limitations.
How complete tracing can be achieved only by combining additional profiles with xDebug like Blackfire/Tideways/Spx

Steps To Reproduce
  • trace larger apps like Magento
Additional Information

Suggested features summary:

  • collect params related to I/O
  • toggle skip capturing internal functions
  • time sampling for traces
  • trace format compatible with other viewers
  • post tracing hooks/callbacks that would allow to automate preparation of visualized reports
TagsNo tags attached.
Attached Files
timeline.png (656,869 bytes)
Operating System
PHP Version8.2.0-8.2.9

Activities

Issue History

Date Modified Username Field Change
2023-09-30 07:51 stanilnytskyi New Issue
2023-09-30 07:51 stanilnytskyi File Added: timeline.png