Process::Metrics
Extract performance and memory metrics from running processes.

Usage
Please browse the source code index or refer to the guides below.
Getting Started
This guide explains how to use the process-metrics gem to collect and analyze process metrics including processor and memory utilization.
Releases
Please browse the releases for more details.
v0.5.1
- Fixed Linux memory usage capture to correctly read memory statistics.
v0.5.0
- Added
--total-memoryoption for scaling memory usage graphs, allowing users to set custom total memory values. - Improved support for proportional memory usage (PSS).
- Exposed total system memory information.
v0.4.0
- Fixed command formatting in output display.
- Modernized codebase to use current Ruby conventions.
- Improved Darwin (macOS) support with better platform-specific handling.
v0.3.0
- Added support for
smaps_rollupon Linux for more efficient memory statistics collection. - Fixed
smaps_rollupdetection (corrected file path). - Removed
szmetric (not supported on Darwin). - Expanded test coverage.
- Improved documentation with better syntax highlighting and fixed links.
- Avoided abbreviations in naming conventions for better code clarity.
- Added missing dependencies:
bake-test-externalandjsongem. - Added summary lines for PSS (Proportional Set Size) and USS (Unique Set Size).
v0.2.1
- Added missing dependency to gemspec.
- Added example of command line usage to documentation.
- Renamed
rsztorss(Resident Set Size) for consistency across Darwin and Linux platforms.
v0.2.0
- Added
process-metricscommand line interface for monitoring processes. - Implemented structured data using Ruby structs for better performance and clarity.
- Added documentation about PSS (Proportional Set Size) and USS (Unique Set Size) metrics.
v0.1.1
- Removed
Gemfile.lockfrom version control. - Fixed process metrics to exclude the
pscommand itself from measurements. - Fixed documentation formatting issues.
v0.1.0
- Initial release with support for process and memory metrics on Linux and Darwin (macOS).
- Support for selecting processes based on PID or PPID (process group).
- Implementation of memory statistics collection using
/procfilesystem on Linux. - Better handling of process hierarchies.
- Support for older Ruby versions.
Contributing
We welcome contributions to this project.
- Fork it.
- Create your feature branch (
git checkout -b my-new-feature). - Commit your changes (
git commit -am 'Add some feature'). - Push to the branch (
git push origin my-new-feature). - Create new Pull Request.
Developer Certificate of Origin
In order to protect users of this project, we require all contributors to comply with the Developer Certificate of Origin. This ensures that all contributions are properly licensed and attributed.
Community Guidelines
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.