Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhancement the backtrace with time consumption for every function call #30

Open
oikomi opened this issue Aug 18, 2015 · 4 comments
Open

Comments

@oikomi
Copy link

oikomi commented Aug 18, 2015

hi @patrickallaert

would you consider to add time consumption for every function call in a request? like xhprof .

@patrickallaert
Copy link
Owner

XHProf has severe performance impact, APM doesn't suffer from that, hence why I'm not very enthusiast about this idea.
Besides that, xhprof is very good at what it does, why not just use it if you don't care about the performance impact?

@oikomi
Copy link
Author

oikomi commented Aug 19, 2015

hi @patrickallaert
In fact, we do not use XHProf everywhere, just when we found the slow request, we want to known which function spent a lot of time, so the performance impact within a tolerable range.

@patrickallaert
Copy link
Owner

The problem is that in order to provide that kind of measure, we would be forced (like XHProf does) to get a very precise time (with nanoseconds) before/after every function call, that is the only way to produce the time spent in a function. The thing here is that collecting the system time with high precision is an expensive process. Providing the feature wouldn't only dramatically impact the performance, not more, not less than XHProf or any other profiling tool, but in addition, we would just embed a profile tool that is better kept separate from APM.

Note that catchy.io will provide something that could possibly help you. Not by telling you in which function you spent more time, but whether this is in DB, networking I/O, file operations, regexes,...

@fizerkhan
Copy link

@patrickallaert catchy.io seems to be dead. Is there any open source alternative for this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants