nextcloud / nextcloud/serverinfo

Meminfo support for OpenBSD

Open
#120 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
130
Forks
64
Avg merge
1d 1h
Merged PRs (30d)
49

Description

Meminfo currently only supports Linux and FreeBSD [0]

The output of top contains this information, and OpenBSD (and perhaps others?) have a -d option, which only refreshes the requested number of times.

$ top -d1
load averages:  4.87,  4.72,  4.83    host.example.net 02:43:39
59 processes: 4 running, 54 idle, 1 on processor  up 13:59
CPU states: 39.0% user,  5.6% nice, 17.0% system,  0.5% interrupt, 37.9% idle
Memory: Real: 701M/1254M act/tot Free: 681M Cache: 387M Swap: 72M/11G

  PID USERNAME PRI NICE  SIZE   RES STATE     WAIT      TIME    CPU COMMAND
35645 root      58    0   25M   34M run       -         8:21 20.07% perl
...

So we could exec this and parse the information out.

[0] https://github.com/nextcloud/serverinfo/blob/203e90df095ed70a0a9cbbe498e8e601f893d4b5/lib/SystemStatistics.php#L79

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked lib/SystemStatistics.php code at the referenced location and inspect how Linux and FreeBSD memory information is handled. Compare that behavior with the OpenBSD top -d1 output shown in the issue; done means OpenBSD memory statistics are collected and parsed without disrupting existing platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
observability, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.