Extract performance and memory metrics from running processes.
Please see the project documentation for more details.
- Getting Started - This guide explains how to use the
process-metrics
gem to collect and analyze process metrics including processor and memory utilization.
Please see the project releases for all releases.
- Fixed Linux memory usage capture to correctly read memory statistics.
- Added
--total-memory
option 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.
- Fixed command formatting in output display.
- Modernized codebase to use current Ruby conventions.
- Improved Darwin (macOS) support with better platform-specific handling.
- Added support for
smaps_rollup
on Linux for more efficient memory statistics collection. - Fixed
smaps_rollup
detection (corrected file path). - Removed
sz
metric (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-external
andjson
gem. - Added summary lines for PSS (Proportional Set Size) and USS (Unique Set Size).
- Added missing dependency to gemspec.
- Added example of command line usage to documentation.
- Renamed
rsz
torss
(Resident Set Size) for consistency across Darwin and Linux platforms.
- Added
process-metrics
command 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.
- Removed
Gemfile.lock
from version control. - Fixed process metrics to exclude the
ps
command itself from measurements. - Fixed documentation formatting issues.
- 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
/proc
filesystem on Linux. - Better handling of process hierarchies.
- Support for older Ruby versions.
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.
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.
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.