
Ask HN: Recommendations for simple performance monitoring infrastructure - prmph
We are looking for recommendations for a simple, maintainable solution for monitoring performance in our Node web app hosted on Heroku.<p>Our needs are simple: an API that we can call from anywhere (in-app, from external test agents, etc.) to report&#x2F;store a measurement according to our own custom structure, and a web-based dashboard where we can view the data (with history).<p>Is there any solution (preferably open-source that can be self hosted) that offers these features? Alternatively, is there a service that allows to run, store, and analyze ongoing reports from Google PageSpeed Insights or WebPageTest? Or would it be better to roll our own solution?<p>We strongly prefer the most simple software that meets these requirements. There are a huge number of (mostly too complex) commercial solutions out there, and it is tough to sort through them all to see how they provide these features in a simple way.
======
XCSme
For monitoring we ended up using collectd + Grafana, but it takes a while to
set it up and make it work, it's probably better to go with an external
service if you don't want to spend time. We also used a bit
[https://pm2.keymetrics.io/](https://pm2.keymetrics.io/) monitoring, it's
pretty nice, but it becomes really expensive if you have more than 2-3
servers.

------
ankitnayan
Hosting your own solution on Heroku might be costly and not worth maintaining.
Go for commercial products like Graphite or Collectd + Grafana if all you need
is to send your own custom structured metrics. If you need APM capabilities,
checkout DataDog

------
karmakaze
I don't use Heroku, but for metrics/monitoring prefer to use DataDog. There is
a Heroku buildpack for DataDog. For small dyno sizes the DataDog agent may
have some impact so check performance externally before/after (by making
requests over the network).

------
MrCoffee7
[https://geekflare.com/nodejs-monitoring-tools/](https://geekflare.com/nodejs-
monitoring-tools/)

------
pranay01
What metrics do you want to monitor? Are these things like latency, error
rates etc? Or more like dyno memory usage, cpu usage and so on?

~~~
prmph
Both client-side metrics: time to first byte, total loading time for various
pages, browser memory usage over time; and server-side metrics: time
performance of some compute intensive API endpoints.

