| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Shared memory is less available than buffers, so move it
left next to used memory.
This is in preparation for including shared memory in the
basic "in use" for the bar text. It would not make sense
to sum a discontiguous region.
|
| |
|
|
|
|
| |
Closes #1304
|
|
|
|
|
|
|
| |
Accidentally introduced by merging #1254
Caused by refactor in #1294
Fixes #1300
|
|
|
|
| |
Fixes #1254
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following up with some discusson from a few months back,
where it was proposed that ProcessTable is a better name.
This data structure is definitely not a list ... if it
was one-dimensional it'd be a set, but in practice it has
much more in common with a two-dimensional table.
The Process table is a familiar operating system concept
for many people too so it resonates a little in that way
as well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements our concept of 'dynamic screens' in htop, with a
first use-case of pcp-htop displaying things like top-filesystem
and top-cgroups under new screen tabs. However the idea is more
general than use in pcp-htop and we've paved the way here for us
to collectively build mroe general tabular screens in core htop,
as well.
From the pcp-htop side of things, dynamic screens are configured
using text-based configuration files that define the mapping for
PCP metrics to columns (and metric instances to rows). Metrics
are defined either directly (via metric names) or indirectly via
PCP derived metric specifications. Value scaling and the units
displayed is automatic based on PCP metric units and data types.
This commit represents a collaborative effort of several months,
primarily between myself, Nathan and BenBE.
Signed-off-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
Signed-off-by: Nathan Scott <nathans@redhat.com>
|
|
|
|
|
|
|
|
|
| |
This commit refactors the Process and ProcessList structures such
they each have a new parent - Row and Table, respectively. These
new classes handle screen updates relating to anything that could
be represented in tabular format, e.g. cgroups, filesystems, etc,
without us having to reimplement the display logic repeatedly for
each new entity.
|
|
|
|
| |
Co-authored-by: BenBE <BenBE@geshi.org>
|
|
|
|
| |
Noticed by BenBE in review of #1243
|
|
|
|
| |
Closes #1247
|
|
|
|
|
|
|
|
|
|
|
| |
First stage in sanitizing the process list structure so that htop
can support other types of lists too (cgroups, filesystems, ...),
in the not-too-distant future.
This introduces struct Machine for system-wide information while
keeping process-list information in ProcessList (now much less).
Next step is to propogate this separation into each platform, to
match these core changes.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prepare the way for making screen tabs more generalised,
able to cater to entities other than processes.
'actionTogglePauseProcessUpdate' -> 'actionTogglePauseUpdate'
'pauseProcessUpdate' -> 'pauseUpdate'
'hideProcessSelection' -> 'hideSelection'
'hideProcessSelection' -> 'hideSelection'
Signed-off-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
|
|
|
|
|
|
| |
list/treeview mode
Fixes: #1225
|
|
|
|
|
|
|
|
| |
For now, the semantics are mostly fit for Linux zswap subsystem. For
instance, we add the third swap usage metric that indicates the amount
of memory that is accounted to swap but in fact stored elsewhere. This
exactly matches the definition of frontswap/zswap, and is probably of
little use to all other platforms.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a process column for scheduling policy to show the current
scheduling policy of the process.
Add a the ability to change the scheduling policy of a process via the
key 'Y'.
Currently implemented on Linux and FreeBSD only but should be portable,
since sched_getscheduler(2) is part of POSIX.1-2001.
Closes: #1161
|
|
|
|
|
| |
On pressing 'I' to invert the current sort order redraw the panel header
to update the order indicator.
|
|
|
|
| |
strings
|
| |
|
|
|
|
| |
Fixes #1120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes:
- Wrap function implementations
- Pointer alignment for function signatures
- Pointer alignment for variable declarations
- Whitespace after keywords
- Whitespace after comma
- Whitespace around initializers
- Whitespace around operators
- Code indentation
- Line break for single line statements
- Misleading alignment
|
|
|
|
|
|
|
|
|
| |
Show/hide the header meters with the pound ('#') key. Useful in cases
where the header is too large and occupies essential parts of the
screen, especially in settings (see #1108).
It is only stored as a runtime state, not a persistent setting; to
remove the header permanently one can delete all active meters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add actionToggle and fix LinuxProcessList_checkPidNamespace
Read cgroup file irrespective of flags
Improve logic to check if running in container
Add isContainerOrVMSlice()
Also change "(Process *)lp" to "proc"
Remove check for root slice
Remove Process_isRunningInContainer
Co-authored-by: BenBE <BenBE@geshi.org>
|
|
|
|
|
| |
This shortcut does not have any visible effect in flat mode, so disable
it completely to avoid possible confusion.
|
|\ |
|
| |
| |
| |
| |
| | |
This shortcut does not have any visible effect in flat mode, so disable
it completely to avoid possible confusion.
|
| | |
|
|/
|
|
| |
Closes: #1014
|
|
|
|
|
| |
This was changed in commit 37e01cbe33714c8fde72220555b92c7d8585d127,
probably unintentional.
|
|
|
|
|
| |
Thanks to @Low-power for the idea
Closes #1010
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
On the help screen's depiction of the swap bar, the / separator between
used and cache should be coloured for consistency with the other bars.
I tried removing the coloured /s from the other bars to make them
consistent, but found that less visually appealing.
|
|
|
|
| |
This is a forward port (by nathans) of Hisham's original code.
|
|
|
|
|
|
|
| |
Instead of pre-selecting SIGTERM every time, select the signal last
send in the same htop session.
Closes: #862
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Co-authored-by: BenBE <BenBE@geshi.org>
|
|
|
|
|
|
| |
This cannot happen in these code locations, but for the purposes
of static checkers like Coverity scan (and for future proofing),
add two more guards on NULL hash table entry pointers.
|
|
|
|
| |
Pass one less instead of subtracting one inside the function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements support for arbitrary Performance Co-Pilot
metrics with per-process instance domains to form new
htop columns. The column-to-metric mappings are setup
using configuration files which will be documented via
man pages as part of a follow-up commit.
We provide an initial set of column configurations so
as to provide new capabilities to pcp-htop: including
configs for containers, open fd counts, scheduler run
queue time, tcp/udp bytes/calls sent/recv, delay acct,
virtual machine guests, detailed virtual memory, swap.
Note there is a change to the configuration file path
resolution algorithm introduced for 'dynamic meters'.
First, look in any custom PCP_HTOP_DIR location. Then
iterate, in priority order, users home directory, then
local sysadmins files in /etc/pcp/htop, then readonly
configuration files below /usr/share/pcp/htop. This
final location becomes the preferred place for our own
shipped meter and column files.
The Settings file (htoprc) writing code is updated to
not using the numeric identifier for dynamic columns.
The same strategy used for dynamic meters is used here
where we write Dynamic(name) so the name can be setup
once more at start. Regular (static) columns writing
to htoprc - i.e. numerically indexed - is unchanged.
|
|
|
|
|
| |
sched_getaffinity() and sched_setaffinity() are also available on BSDs.
Remove the Linux restraint.
|