View Issue Details

IDProjectCategoryView StatusLast Update
0001670XdebugProfilingpublic2024-04-15 13:37
Reporterojrask Assigned To 
PrioritylowSeverityfeatureReproducibilityN/A
Status acknowledgedResolutionopen 
Target Version3.4dev 
Summary0001670: Allow filtering out source code when profiling
Description

When running profiling against a codebase, sometimes the developer might want to filter out (or in) specific parts of the codebase that are of no interest when analyzing the profiling results.

Example: codebase uses a vendor library that pollutes the profiler output with numerous but performant calls and loops. This makes it hard to find and analyze the developer's own code, without creating a redundant setup where code is generated only to make profiling it simpler.

For instance, I run PHPUnit tests and want to profile my own test cases, not the PHPUnit bootstrapping and boilerplate code.

I am not sure if this is even remotely possible, as I am not versed in how valgrind/callgrind/cachegrind formats work, or how those are implemented in Xdebug. In the end I would love to see a config value similar to

xdebug.profiler_ignore_paths=/path/to/files/,/path/to/single/file.php,/path/with/*/wildcard

Or should I look into finding tools that operate on finished grind outputs? I know Xdebug has a feature for aggregating multiple dumps into one, so the format should be somewhat workable after profiling runs themselves?

TagsNo tags attached.
Operating System
PHP Version7.3.0-7.3.1

Relationships

child of 0002072 acknowledged Rewrite the profiler 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2019-05-27 09:59 ojrask New Issue
2019-06-16 00:54 derick Category Profiling => Feature/Change request
2019-06-16 00:54 derick Target Version => 3.0dev
2020-03-12 16:32 derick Category Feature/Change request => Profiling
2020-09-23 17:00 derick Target Version 3.0dev =>
2021-03-17 09:41 derick Target Version => 3.2dev
2021-08-07 10:05 derick Status new => acknowledged
2022-06-06 15:27 derick Target Version 3.2dev => 3.3dev
2023-08-02 16:45 derick Target Version 3.3dev => 3.4dev
2024-04-15 13:37 derick Relationship added child of 0002072