Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

End user experience monitoring tools

Tags:

I have a web application with a great deal of both client-side and server-side logic. It is considered business-critical that this application feel responsive to the end user, for some definition of "feels responsive." ;)

Most website monitoring discussions revolve around keeping an eye on server-side metrics (response time, I/O queue depth, latency, CPU load, etc.), i.e. we tend to treat server performance and responsiveness as though it's a viable "proxy" for what the user is experiencing.

Unfortunately, as we move more and more logic to client side Javascript, the correlation decreases and our server metrics become less useful.

I didn't find any good matching SO questions on this. Googling gives a range of commercial products that might be related, but they're generally from the manufacturers' websites, full of unhelpful marketspeak and "please call us for details," so it's hard to know.

Are there any commonly-used tools for this sort of thing, other than rolling your own? Both free and commercial are welcome, although free is obviously better all else being equal.

EDIT: To clarify, I primarily need to gather bulk data on the user experience, including both responsiveness and breakage/script errors. Automatic analysis is a very-nice-to-have, although I'd expect to have to occasionally dig into the data myself regardless of the solution.

like image 265
David Pope Avatar asked Jun 07 '11 21:06

David Pope


People also ask

What is end user experience monitoring?

End user experience monitoring (EUEM) analyzes the performance of a user's end-to-end workflow across multiple devices, networks, clouds, and applications with the goal of improving business productivity.

What is real user monitoring tool?

Real user monitoring (RUM) is a performance monitoring process that collects detailed data about a user's interaction with an application. Real user monitoring collects data on a variety of metrics. For example, data collected on load actions can include navigation start, request start, and speed index metrics.

Which tool is used for external monitoring?

The external monitoring uses Acronis public agents that remotely check the network via the worldwide polling network. This determines the availability and uptime of the web services when accessed externally from various locations.


2 Answers

There are some freely available tools for performance monitoring. Yahoo open-sourced a script they used called Boomerang which can measure page load times and other performance metrics for end-users. Full documentation here. Google analytics also offers a basic page load time report.

For error monitoring, you'll want to listen for the window.onerror event. I don't know of any scripts that will automatically log it for you, or mine the logs on the server side. If you implement your own, you'll want to be very careful about not pinging the server too often--imagine how many requests it would generate if there was a JS error in your JS error handling code!

like image 58
Annie Avatar answered Oct 04 '22 04:10

Annie


Bucky Client and Bucky Server, can perform that task :

http://github.hubspot.com/bucky/

From their website :

Open-source tool to measure the performance of your web app directly from your users' browsers.

To analyse data they advise Graphite or OpenTSDB

like image 22
gpasse Avatar answered Oct 04 '22 03:10

gpasse