https://github.com/shirou/gopsutil
メモリ使用状況やHDD、LoadAvgなどのシステムの情報をgolangから取得するためのライブラリ
hashicorpのnomadや、InfluxDatのtelegraf、OpenTelemetry Collectorなどに使用されています。
GitHubのstarは6000を超えています。
以下の点が特徴となります。
- linuxだけではなく、darwin、FreeBSD、Windowsなどにも対応している
- ほぼpure golangで書かれている
- linuxではないシステムではバイナリデータを扱う必要があるが、そのあたりもきちんと実装している
- 例えばFreeBSDではsyscallの返り値はバイナリだが、きちんとparseしている
- 世界中からcontributeがあるので、英語で回答を行っている