Sometimes we want to keep an eye on [[Windows]] resource utilization over time to look for trends or to see if our applications are causing memory leaks.
## Windows Performance Monitor
The built in Windows Performance Monitor has the ability to define "Data Collector Sets" appear to be the ability to log performance data locally.
- `\Processor Information(_Total)\% Processor Time`
- `\Memory\% Committed Bytes In Use`
- `\Memory\Available MBytes`
- `\Processor(_Total)\% User Time`
- `\Processor(_Total)\% Idle Time`
- `\System\File Data Operations/sec`
- `\System\File Read Bytes/sec`
- `\System\File Write Bytes/sec`
- `\System\Processor Queue Length`
- `\System\System Calls/sec`
- `\LogicalDisk(_Total)\Disk Read Bytes/sec`
- `\LogicalDisk(_Total)\Disk Write Bytes/sec`
- `\LogicalDisk(_Total)\Free Megabytes`
With the above metrics being logged, the log growth appears to be 2.56 MB/hr.
These appear to also compress quite well. My test of a 120MB file compressed down to approximately 10MB with [[7zip]], 16MB with regular zip.
Published a Zoho helpdesk article on how to configure this https://wassoneceinstrumentation.zohodesk.com/portal/en/kb/articles/recording-windows-performance-metrics
## Prometheus Node Exporter
[[Prometheus]]' node exporter is a widely used tool in the Linux ecosystem but doesn't have a Windows build - which makes sense because the syscalls are different. However, there is a [[Prometheus Community]] version called [windows_exporter](https://github.com/prometheus-community/windows_exporter) which looks promising.