Re:Tracelytics: Google Dapper for the Rest of Us
by manuelflara on Friday November 04, 2011 @07:48PM
(#3198248)
How exactly can you tell exact controllers/actions in the code? Do we need to include some custom code in our PHP (in this case) code for that to work? We use NewRelic right now, and all that the "code performance" part of it shows is index.php, which is the dispatcher of our framework. Obviously, not very helpful.
P.S. I posted a related question on Quora recently, maybe you'd like to weight in: http://www.quora.com/How-is-Tracelytics-better-than-New-Reli...
Re:Tracelytics: Google Dapper for the Rest of Us
by trjordan on Friday November 04, 2011 @11:15PM
(#3198780)
In the frameworks we instrument, we grab that information for you at the appropriate point.
In the case of vanilla PHP, the concept of controller and action is less well-defined, so we provide a function that you can use to log controller/action information you have in whatever routing class/function/layer you have.
Re:Tracelytics: Google Dapper for the Rest of Us
by kermitthehermit on Sunday November 06, 2011 @05:32PM
(#3204111)
I can't use anything like this due to NDAs and due to the fact that the management will not approve the payment of such a service.
In other words, try to explain to some manager that the development & server administration needs some special tools for monitoring. They might think they need to hire someone else to fix that weird issue when the load spikes.
So, this means there's only one option: having an open source stack to do it and set it up in-house.
Tracelytics has two big features that New Relic doesn't have:
- Support for service oriented architectures. We'll show you what called what, and how the caller affects the callee's performance.
- More flexible filtering throughout the app. We let you filter on URLs, controllers/actions, custom-defined apps, even memcache keys or SQL queries, and carry these filters around with you go from page to page. It really helps isolate a problem with, for instance, a memcache call that only originates from one URL.
Now, obviously I'm biased, but I think that these two can make a big difference, especially when you're trying to track down a performance problem for the first time.