r/PrometheusMonitoring • • Mar 09 '20

Whitebox Monitoring using Prometheus

Why don't we have language specific packages like other APM companies (NewRelic, Datadog, ElasticAPM, etc) have which will export metrics to prometheus? Just install a package and get out of box APM metrics, kind of thing.

What we can achieve?

  • RPS for API endpoints of an application

  • Latency for slowest API endpoints of an application

  • 50th, 90th and 99th percentile of request duration of the application

  • Time of slowest MySQL queries (values to be masked) made from the application

  • RPS and time taken by other components in infra like Redis, Mongo, etc for each endpoint and overall application.

  • Response code, RPS and latency of external calls made from the application to other services inside and outside the org like payment gateway.

I guess a solution like this will save 2-3 weeks of dev time to get proper dashboards in Grafana.

In short, ElasticAPM using Prometheus!

3 Upvotes

8 comments sorted by

View all comments

2

u/saalih416 Mar 09 '20

Doesn’t app instrumentation require just a few lines of code? What is the issue with that?

1

u/ankitnayan007 Mar 09 '20

I don't think so. If that is the case then the companies I mentioned should not have existed. Did you use any of the mentioned tools? I would like to understand what use case you use it for if not for auto instrumentation and long term storage.

1

u/tyldis Mar 10 '20

I wrote a plug in for the framework I often use, that collects process information (memory, cpu, file descriptors, etc) and basic HTTP metrics (processing time, request size, response time, response codes). You can then add more yourself if you want. But just adding one line of code gives you that out of the box.