Jan 30 2019
Success! D20046 worked to fix the "profiler not sticking across form posts" issue on secure. 🐈
Jan 28 2019
Yeah, I think the issue is:
The "keep the profiler on across form submissions" code isn't working on secure.phabricator.com, even though it works locally and __profile__=page appears on the "Request" tab.
Sep 27 2018
Nov 29 2017
(I'm also open to improvements to the XHProf UI in Phabricator if you plan to use that to store and review profiles. Many obvious features like tagging and API access which would make it more usable for handling profiles of projects other than Phabricator itself are likely very easy to implement. But I'm not sure there's tons of room for real integrations, even if you used everything else in Phabricator, and you may imagine tooling which can't realistically exist in the scope of Phabricator.)
For general context:
Nov 28 2017
Apr 4 2017
(This isn't really very closely related to the Files application anymore, just cleaning up that board a little.)
Feb 26 2017
I have a build of this that technically works now (produces profiles, passes tests, does not segfault when gently poked). It's still extremely really rough so I don't know when I'll clean it up enough to push upstream.
Feb 25 2017
Total cost is about 1.6s. Of this:
This is still a little bit of a pain but far more reasonable now, here's an actual profile:
Feb 23 2017
I didn't "ref" it here, but D17401 sort of technically did this. I'd like to clean it up a bit more before calling this resolved, though -- particularly, this is basically a secret that only I know about.
Feb 22 2017
Feb 20 2017
Some possible approaches here:
Dec 3 2016
For reference, xhprof will not be included in Debian Stretch due to lack of PHP7 support: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=846138
Apr 1 2016
keep in mind that that was successfully compiled by removing lots of code https://github.com/RustJason/xhprof/commit/6c473e39fa93fb7f0acc3fae73f626e5c66dff1a and i'm not completely sure of the implications of the changes.
Feb 15 2016
For my (and others') understanding, the discussion is limited to how to make the needed changes BC, otherwise https://github.com/RustJason/xhprof/tree/php7 would be fine? If so, might I suggest a new major version?
Nov 19 2015
I don't think that is going to work here are some things I pulled from the extension migration page (unless we ifdef large blocks of code):
- PHPNG doesn't require any involvement of pointers to pointers to zval. Most occurrences of zval** variables and parameters have to be changed into zval*. The corresponding Z_*_PP() macros that work with such variables should be changed into Z_*_P().
- In many places PHPNG work with zval directly (eliminating need for allocation and deallocation). In these cases corresponding zval* variable should be converted into plain zval, macros that use this variable from Z_*P() into Z_*() and corresponding creation macros from ZVAL_*(var, …) into ZVAL_*(&var, …). Be always careful about passing addresses of zval and & operator. PHPNG almost never require passing address of zval*. In some places & operator should be removed.
- zval allocation macros ALLOC_ZVAL, ALLOC_INIT_ZVAL, MAKE_STD_ZVAL are removed. In most cases their usage indicate that zval* need to be changed into plain zval. Macro INIT_PZVAL is removed as well and its usages in most cases should be just removed.
Nov 18 2015
- If the changes are relatively minor, add a bunch more #ifdefs? We already have some of this to deal with prior API changes, and I believe this approach is historically a standard one across other extensions.
- If the changes are substantial, maybe we need to get more creative.
@epriestley, due to the fact that the Zend APIs for PHP7+ are different than those in PHP5* how should changes to XHProf be submitted so we don't break stuff?
Nov 17 2015
https://wiki.php.net/phpng-upgrading should contain a lot of relevant information.
Aug 25 2015
--upload-xprofile is definitely more useful overall than --xprofile <file> since 99% of the time I've also done some approximation of that upload dance, it just feels a little weird for some stuff to take --xprofile <file> and some stuff to take --xprofile which takes no argument and means something completely different.
Aug 24 2015
It seems sort-of-nice-to-have to have the raw version, maybe.
Not sure if it would be desirable but perhaps Arcanist would override libphutil's --xprofile and wrap around it to provide the suggested functionality? This is probably too magical. arc --upload-xprofile seems reasonable.
I think --xprofile is provided by libphutil but it doesn't know about Phabricator. It seems sort-of-nice-to-have to have the raw version, maybe. Not sure how easy it is to add --upload-xprofile to arc.
Aug 6 2015
May 7 2015
Apr 26 2015
Mar 13 2015
Should be resolved, probably.
Mar 5 2015
Definitely desirable, although some of them (releeph, oauth server, arcanist project edit) might be tricky to test.
There is a manageable number of buildStandardPage callsites, might be easy to remove if there is only 1-2 missing features.
Typically I'd just switch this over to buildApplicationPage and call it a day, but I don't think that works with frame.
I think we can put the frame logic in buildApplicationPage(), and then switch to it. I can tackle that if you aren't sure how to not break stuff.