Christian Göttsche
ded9c5d363
PSI Meter: use constant width and only print ten-duration as bar
2020-12-08 23:09:35 +01:00
Benny Baumann
f6613db5cd
Additional code simplification
...
Additional correction for #375
2020-12-08 21:24:19 +01:00
Christian Göttsche
157086e750
Split RichString_(append|appendn|write) into wide and ascii
...
RichString_writeFrom takes a top spot during performance analysis due to the
calls to mbstowcs() and iswprint().
Most of the time we know in advance that we are only going to print regular
ASCII characters.
2020-12-08 20:58:40 +01:00
Christian Göttsche
05969998c1
SELinuxMeter: silence comparison warning on 32-bit
...
linux/SELinuxMeter.c: In function ‘hasSELinuxMount’:
linux/SELinuxMeter.c:38:21: warning: comparison of integer expressions of different signedness: ‘__fsword_t’ {aka ‘int’} and ‘unsigned int’ [-Wsign-compare]
38 | if (sfbuf.f_type != SELINUX_MAGIC) {
| ^~
Origin: 7df27b78e9/libselinux/src/init.c (L40)
2020-12-07 16:05:12 +01:00
Christian Göttsche
ad764ff972
Introduce METER_BUFFER_CHECK and METER_BUFFER_APPEND_CHR to cleanup writing to bar buffers
...
Closes : #294
2020-12-06 16:03:44 +01:00
Christian Göttsche
77ec86aff4
Use size_t as type for buffer length in Process
2020-12-06 16:03:44 +01:00
Christian Göttsche
e1ce141bc3
Use size_t as len type for Meter_UpdateValues
...
Most of the time the parameter is passed to snprintf type functions
2020-12-06 16:03:44 +01:00
Christian Göttsche
7ba25aa3c4
IWYU update
2020-12-06 15:32:16 +01:00
Benny Baumann
22f8f8000c
Initialize buffer for retrieved path
...
This avoids a warning on GCC 11.
Fixes #369
2020-12-06 11:51:03 +01:00
Christian Göttsche
876194492f
LinuxProcessList: add underscore suffix for raw struct name
...
Fit the general coding style
2020-12-05 20:25:54 +01:00
Christian Göttsche
f61e74a4af
Resolve conversion from ssize_t to int for readlink return value
2020-12-05 19:58:32 +01:00
Christian Göttsche
bc16fa037f
Convert personal copyright authorship to team
2020-12-04 13:55:55 +01:00
Christian Göttsche
d1db9da936
Linux: avoid float division by 0 after system sleep
...
linux/LinuxProcessList.c:1403:63: runtime error: division by zero
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior linux/LinuxProcessList.c:1403:63 in
2020-12-03 13:25:17 +01:00
Christian Göttsche
fe84840314
Add Linux cwd process column
2020-12-03 09:21:28 +01:00
Christian Göttsche
b76eaf187a
Dynamically load libsensors at runtime
2020-12-02 21:03:24 +01:00
Christian Göttsche
f7a8952933
Add xReadfile wrapper for reading small to medium size files
...
Inspired by proposed Linux syscall
Avoid file descriptor leaks like 4af8c63f
2020-12-02 20:39:36 +01:00
Christian Göttsche
1d8192c10b
PressureStallMeter: improve display strings
...
- Shorten name for header setup menu
- Improve caption in bar mode
2020-12-02 19:51:43 +01:00
Christian Göttsche
c0b50164dd
Use String_eq for readability and consistency
2020-12-02 19:14:22 +01:00
Christian Göttsche
7975cd2ca3
Add cast to unsigned char to avoid signed char misuse
2020-12-02 19:14:22 +01:00
Christian Göttsche
9029cc83ad
Merge identical conditional branches
2020-12-02 19:14:22 +01:00
Christian Göttsche
43ee295c23
Drop redundant return statements
2020-12-02 19:14:22 +01:00
Christian Göttsche
9549ca8c88
Linux: fix process parsing for hidden pid directories
2020-11-29 12:46:25 +01:00
Christian Göttsche
5ee6875f73
Typo
2020-11-28 20:53:49 +01:00
Christian Göttsche
ea4f33409a
Update even more snprintfs
...
Use size of actual buffers instead of magic numbers
2020-11-28 19:33:07 +01:00
Benny Baumann
0b29e5074c
Use 'N/A' instead of 'no perm' for more consistency
2020-11-28 17:43:08 +01:00
Daniel Lange
6c306315c8
Fix reading of device nodes > 2 chars from memory maps
2020-11-28 17:06:06 +01:00
Christian Göttsche
2ff2859c23
Add compat mode for systems without openat(2)
2020-11-28 12:35:34 +01:00
Christian Göttsche
638207a2ff
LinuxProcessList: use openat instead of building path strings
...
openat() is available since Linux 2.6.16
2020-11-28 12:35:34 +01:00
Nathan Scott
f704baeb82
Drop unused global ProcessList memory fields
...
The global ProcessList structure contains a couple of unused
fields. 'sharedMem' has never been used by any Meter, since
its not been anything other than zero in Linux /proc/meminfo
for many, many years. The freeMem field is only used in the
usedMem calculation, so it can reside on the stack like some
other memory variables used within-calculations-only and not
exposed to the user via a Meter.
2020-11-27 07:55:58 +01:00
Benny Baumann
2c27f1d9ab
Randomly refresh M_LRS calculation, but latest after 2s
2020-11-26 22:58:34 +01:00
Benny Baumann
08d6e25301
Distinguish display of no permissions for reading M_LRS
2020-11-26 22:58:34 +01:00
Benny Baumann
31044d1729
Roll our own strtoull implementation specialized to handle the parsing requirements
2020-11-26 22:58:34 +01:00
Benny Baumann
cceab5f803
Hardcode actual conversions to read the maps file data
2020-11-26 22:58:34 +01:00
Benny Baumann
721d9112d9
Only calculate M_LRS size every 5 seconds
2020-11-26 22:58:34 +01:00
Fynn Wulf
7f18b352b0
Calculate library size (M_LRS column) from maps file
2020-11-26 22:58:34 +01:00
Christian Göttsche
46a2e8ac63
IOPriorityPanel: drop unnecessary buffer size decrement
...
xSnprintf guarantees null-termination within the passed size.
2020-11-26 20:42:38 +01:00
Christian Göttsche
d62c2e9cca
LinuxProcessList_recurseProcTree: compute time only once and mark parent const
2020-11-25 22:14:35 +01:00
Christian Göttsche
9b31ee5b63
Drop taskstats conditional
...
taskstats is only checked on runtime if the column RCHAR, WCHAR, SYSCR,
SYSCW, RBYTES, WBYTES, CNCLWB, IO_READ_RATE, IO_WRITE_RATE or IO_RATE is
selected.
taskstats is currently enabled by default.
Drop the taskstats configuration switch, to reduce the maintenance cost.
2020-11-25 20:49:39 +01:00
Christian Göttsche
c88c80e3bd
Drop cgroup conditional
...
cgroup is only checked on runtime if the column CGROUP is selected.
cgroup is currently disabled by default, but most distributions do
enable it.
Drop the cgroup configuration switch, to reduce the maintenance cost.
2020-11-25 20:49:39 +01:00
Christian Göttsche
c038326a70
LinuxProcessList: fix misspelling
2020-11-25 12:49:17 +01:00
Christian Göttsche
601ad61e7d
Unify naming of first argument of Platform_getBattery
...
Use percent throughout
2020-11-25 12:47:07 +01:00
Christian Göttsche
4af8c63f63
Fix file descriptor leak in LinuxProcessList_readCmdlineFile after xread failure
...
Found by Coverity
2020-11-24 19:54:25 +01:00
Benny Baumann
21e3063e2e
Include comm before cmdline if exe could not be read, but comm mismatches basename from cmdline
...
Also highlights entries where exe was marked deleted
2020-11-24 19:05:48 +01:00
Benny Baumann
46ee28e897
Refactor command string creation
...
Hopefully this patch makes it a bit more approachable how it's done.
2020-11-24 19:05:48 +01:00
Benny Baumann
27b36dab1a
Make kernel thread display for COMM/EXE columns less visible and more consistent
2020-11-24 19:05:48 +01:00
Benny Baumann
f0a232568f
Reduce visual noise to when comm and cmdline actually disagree on the program basename
2020-11-24 19:05:48 +01:00
Narendran Gopalakrishnan
dde2af1fdb
Assume full basename matches COMM when matching full COMM buffer
2020-11-24 19:05:48 +01:00
Narendran Gopalakrishnan
be60419630
Cleanup some documentation
2020-11-24 19:05:48 +01:00
Benny Baumann
fcda517a67
Add heuristic for space-separated cmdline
2020-11-24 19:05:48 +01:00
Benny Baumann
98fce1fb43
Compatibility function for faccessat
2020-11-24 19:05:48 +01:00