Project: Performance Metrics

Problem

We can't have technical data-driven decisions right now.

Solution

We should monitor and create alarms on these critical metrics that directly impact in user experience. Alarms can be as simple as discord notifications on the service-monitoring channel
CPU Usage: mintter process CPU usage in percentage terms. Alert If Mintter is using more than 70% of one single core,
Memory consumption: RAM usage of mintter app. Alert if Mintter is using more than 5GB of RAM
IO r/w: Disk operations of mintter app
Storage: Mintter folder size. Alert when we reach 5GB of mintter folder size.
Network Activity: Bandwidth used (TX and RX) of the mintter app. Alert if we go over 20Mb per minute.
We can get that information in the daemon and create a dashboard in grafana along with the rest of predefined system and libp2p metrics.
We can have all metrics segmented by daemon two categories. Daemon statistics and App Statistics. Since the App statistics include daemon statistics we can infer how many resources the rest of the app is taking
Hyper.media can also expose those metrics to see how it affects to sites

Rabbit Holes

Launching prometheus and grafana locally in electronjs when running the application the same way we launch the daemon. We should just invoke docker compose up and point to

No Gos