GitHub user edespino added a comment to the discussion: Introducing the
[perfmon] Extension for Cloudberry Database Monitoring
## 📌 Note: Replacing libsigar in gpsmon
Hi @fanfuxiaoran,
Following up on the effort to replace libsigar within gpsmon: while SIGAR is
Apache-licensed and technically ASF-compatible, it's effectively unmaintained
and fragile on modern Linux systems. We’ve looked into possible alternatives —
specifically C-based, Linux-only libraries with a comparable feature set and
compatible licensing.
### 🔍 Summary of Findings
Despite a broad survey, there does not appear to be a single, actively
maintained, C-based library that:
* Matches libsigar’s full system and per-process metrics coverage,
* Works cleanly across modern Linux distros,
* And is ASF-compatible (e.g., not LGPL/GPL).
✅ Recommendation
Given these constraints, the cleanest and most sustainable path forward is to
incrementally replace SIGAR usage with direct /proc, /sys, and statvfs()
parsing, organized as:
* Modular internal helpers: cpu.c, mem.c, proc.c, net.c, fs.c
* Simple, reusable get_*_stats() functions
* Preserved structure and logic in gpsmon with minimal disruption
This approach ensures:
* No licensing risk
* Tight control over compatibility and behavior
* A path toward long-term maintainability
This would allow you to phase out SIGAR while maintaining equivalent
functionality and aligning with ASF licensing policy.
This is simply a proposed direction to consider as you evaluate how best to
support the SIGAR functionality in some form going forward.
-=e
GitHub link:
https://github.com/apache/cloudberry/discussions/1087#discussioncomment-13072461
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]