xhprof icon indicating copy to clipboard operation
xhprof copied to clipboard

Add xhprof_frame_begin & xhprof_frame_end

Open bd808 opened this issue 11 years ago • 2 comments

Add functions for sub-function profiling.

  • xhprof_frame_begin : Starts an artificial frame. Together with xhprof_frame_end, this times one block of code execution as if it were a function call, allowing people to define arbitrary function boundaries.
  • xhprof_frame_end : Ends an artificial frame that xhprof_frame_begin started. One has to make sure there are no exceptions in between these two calls, as otherwise, it may report incorrect timings. Also, xhprof_frame_begin and xhprof_frame_end have to be paired up really well, so not to interfere with regular function's profiling, unless that's the intention.
  • XhprofFrame : Wrapper object that calls xhprof_frame_begin in its constructor and xhprof_frame_end in its destructor.

This functionality was back ported from HHVM's internal XHProf implementation. There has been one small change from the HHVM implementation with the addition of the optional $wrapped boolean parameter to xhprof_frame_begin which is used to fix a bug in the upstream XhprofFrame implementation which mis-attibutes function calls in a frame introduced via XhprofFrame to XhprofFrame::__construct rather than the name provided for the frame.

Fixes #51

bd808 avatar Nov 28 '14 21:11 bd808

Ping

bd808 avatar Dec 28 '14 17:12 bd808

:birthday: I meant to ping on 2015-11-28, but better late than never as the Hallmark® cards tell me.

bd808 avatar Dec 02 '15 01:12 bd808