OK, last night was thinking of benchmark performance of each component of web app, e.g. client, app server and data services.
There are great APM available in market which give you good amount of information to start with, but still I was thinking something is missing and want more. APM I tried and used is AppDynamics.
So now what is more we want, AppDynamics provides the analytics capabilities but it comes with the cost 😁. So what all other open-source tools can help.
ELK : this is really good centralized log analysis tool which you can configure to meet your expectations. It has in-built search engine(elastic search) and data visualization (Kibana), and to get the logs or data you have LogStash which supports multiple technologies to receive data. Using ELK one can get the high level health of the application, e.g. success rate of transaction, average response time, slow performing requests, application usage details etc. With ELK you are covered for application server and data services performance.
In ELK we can pushing the Apache web access logs which gives you visibility to usage and performance of application.
Using MDC filters one can push the service/method performance details to ELK and yes exception details.
OK all this is configured and available, what next? So we don’t have to keep monitoring logs n data we are capturing we can configure alerts (email) n dashboards. But my recommendation (if you ask 😎) monitor the logs for at least a week to see is your new setup is capturing the details you are expecting n then tweak the configuration accordingly.
Now challenge is how you can monitor client performance and do we really need to monitor it real time?
My thought is, at least monitor it for pilot release to see how user is adaptive to your new application and if there are any issues. Even I feel it’s more critical than server performance, as most of your testing, all kind of is done with controlled environment (machines, network, internet speed, browser types and even user behavior). So to get answer of question, how actual user is using your app n what challenges he is facing? Real time Browser performance metric/log will be real help.
Thoughts on real time client component performance and monitoring of web application.