Can I manually say on xdebug profiler to start profiling in specific place?

As stated by Laith, you can't choose when you want xDebug to start profiling and when you want him to stop. But, another xDebug feature offers this kind of flexibility: trace.

Profiling and tracing are not exactly the same things but, if you end up here, it may be possible that trace may suits your need.

To start tracing, you have to use this function: xdebug_start_trace()

To stop tracing, you have to use this function: xdebug_stop_trace()

There is quite a lot of settings you can use to change trace's behavior:

http://xdebug.org/docs/execution_trace


Edit: Per How to Turn On/Off Xdebug Profiling at Runtime? you can't actually enable/disable at runtime (for example per function call).

You can selectively enable profiler per request, which is generally better. To achieve this behaviour set those settings:

For xdebug 3 (Upgrade Guide):

xdebug.mode = profile;
xdebug.start_with_request = trigger;

For xdebug 2:

xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0

Note that we disable profiler and only enable the trigger. From your browser pass XDEBUG_PROFILE=1

http://example.com/file.php?XDEBUG_PROFILE=1

You may also pass this parameter in POST or COOKIE. For more info check

  1. http://xdebug.org/docs/profiler#starting
  2. http://xdebug.org/docs/all_settings#profiler_enable_trigger