dev: Add system metrics collection and UI
Would like to have some basic system metrics such as CPU, memory usage, etc to our Minikube cluster during testing as I think it would be useful to find issues during development.
Some metrics I would like to have:
- CPU and memory usage per process (broken down by private, shared, and anonymous)
- Memory / IO / CPU pressure (PSI metrics) per process
- Opened file descriptors
- Threads for each process and metrics for them
- (feel free to add more)
Perhaps we could use something like Grafana?
We already have most of these metrics using the Go runtime collector, node_exporter, etc. So we just need to provide facilities for the local development environment.
And we usually use Grafana dashboards (internally Polar Signals). For the last bit, we also have this issue https://github.com/parca-dev/parca-agent/issues/646.
As we already have this internally, I'll close this issue
No, need to close it. Let's talk offline.
Let's provide a monitoring mixin for Parca (for more context https://monitoring.mixins.dev) And add kube-prometheus to the local testing setup. Similar to https://github.com/parca-dev/parca-demo/tree/main/kube-prometheus
And add kube-prometheus to the local testing setup. Similar to https://github.com/parca-dev/parca-demo/tree/main/kube-prometheus
This part is done by #1661