Skip to content

Future Plans

Daniel Berger edited this page Apr 19, 2018 · 13 revisions

Starting in version 1.2, the arguments to the ps method have changed. Instead of taking an optional pid, it uses keyword arguments. This allows greater flexibility in terms of internal semantics that users can take advantage of. Mainly this allows platforms to skip over certain bits of data collection they don't need in order to reduce memory and/or increase performance.

So, instead of ProcTable.ps(1234) it's now ProcTable.ps(pid: 1234)

On Windows, instead of ProcTable.ps(1234, some_host) it's ProcTable.ps(pid: 1234, host: some_host)

Options are either tailored to specific platforms, or simply ignored depending on the underlying implementation. For example, you could still write cross-platform code like so:

ProcTable.ps(pid: 1234, smaps: false)

This only affects platforms that collect smaps information. On other platforms, that option is simply ignored.

HP-UX

I am going to drop support for HP-UX starting in 1.2. It is the only remaining platform that uses C code. This makes maintenance and packaging difficult since I am mixing C and Ruby code. I would like to switch it over to FFI, but I have not been able to acquire a dev environment which I could use for testing.

Lastly, I don't get the impression that there are very many Ruby users running on HP-UX anyway. The overall market share for HP-UX appears to be less than 1 percent of the Unix market, so I doubt this will affect many people in practice. For those rare HP-UX users who are out there, you can continue to use version 1.1.

Update: HP-UX was officially dropped in 1.2.0.

Solaris

I will support Solaris for the 1.2 release, but the reality is that Solaris is a dying operating system that's had a shrinking market share for many years as Linux expanded. This finally culminated in Oracle's termination of all the remaining Solaris engineers in late 2017, and the removal of any sort of road map for Solaris 12. Since there's still something of a community for Solaris 11 and/or IllumOS, and technically Solaris is still supported by Oracle until 2034, I will support it for now. However, you should not expect support to continue beyond the 1.2 release unless there's some sort of rebound.

Test Suite

I'm going to get with the times and switch from test-unit to rspec. This will also solve some issues with Travis CI where the test-unit gem and the test-unit library in the stdlib sometimes get in each other's way.

Update: As of version 1.2.0, the sys-proctable gem now uses rspec.

Clone this wiki locally