ee97916fd5
Merge pull request #436 from cgzones/freebsd
...
FreeBSD: add support for CPU frequency and temperature
Tested on two physical systems running FreeBSD 12.1
2021-03-18 14:03:51 +02:00
23797e730e
CPUMeter_init: compactify branches
2021-03-12 17:43:23 +01:00
b862e36ee7
Separate data-update and drawing of header
2021-03-04 23:57:45 +01:00
2d1042adb3
Save text buffer in Meter
2021-03-04 23:57:45 +01:00
fd2a0cf421
FreeBSD: add support for CPU frequency and temperature
2021-02-05 16:32:25 +01:00
d72b0a682e
Mark several non-modified pointer variables const
2021-01-11 20:12:34 +01:00
22da57d621
CPUMeter: drop minimum width of CPU usage in bar mode
...
The usage percentage is the first text, no need to set a minimum width.
The BarMeter does already add padding.
2020-12-20 16:55:17 +01:00
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
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
b76eaf187a
Dynamically load libsensors at runtime
2020-12-02 21:03:24 +01:00
f5c3349bdb
IWYU update (FreeBSD)
2020-11-19 23:51:50 +01:00
7cf5277594
IWYU update (Linux)
2020-11-19 23:51:50 +01:00
1b225cd7a0
Show CPU temperature in CPU meter
...
Show the CPU temperature in the CPU meter, like CPU frequency, instead
of using an extra Meter.
2020-11-16 16:38:54 +01:00
45869513bf
Embracing branches
2020-11-02 22:15:01 +01:00
61e14d4bb2
Spacing around operators
2020-11-02 22:15:01 +01:00
43d274a617
Use integer type for item count instead of char
2020-10-31 18:36:55 +01:00
0f5262917f
Make all required includes explicit
...
Information as seen by IWYU 0.12 + clang 9 on Linux
2020-10-18 20:09:05 +02:00
872e542f4e
Rename StringUtils.[ch] to XUtils.[ch]
2020-10-16 20:30:21 +02:00
c6f04a9c5d
Move xAsprintf, xSnprintf and xStrdup to StringUtils.h
2020-10-16 20:29:45 +02:00
9f5b50edd7
CPUMeter: avoid crashes and leaks in case the CPU count changes
...
E.g. if the HT/SMT mode changes
Use separate data for sub-meters
Do not reuse drawData for maintainability
2020-10-12 13:15:23 +02:00
79ad39c718
Mark Object pointer to _display function const
2020-10-10 11:25:19 +02:00
ba282cfe19
Mark Object instances const
2020-10-07 13:01:53 +02:00
08d85e6143
Mark Object classes and Object class fields const
2020-10-07 13:01:53 +02:00
079c2abf8e
Update License consistently to GPLv2 as per COPYING file
2020-10-05 10:13:12 +02:00
6db2d52261
Covert Meter attributes to file-local constant arrays
2020-09-29 10:44:42 +02:00
9ee72568dc
CPUMeter: add octuple-column CPU meters.
...
This is a straightforward extension of the existing multi-column CPU meter
code, which now allows for up CPU meters to be displayed in up to 16 columns.
This also adds the meter declarations to all the platform-specific code.
2020-09-28 14:35:35 +02:00
d22f6573f3
CPUMeter: refactor common CPU meter rendering code.
...
Instead of scanning the meter name to determine the number of columns in a
CPU meter, move the common code behind some wrapper functions, and specify the
number of columns as an explicit parameter when called from the wrappers.
While this does add a bit of code for all the necessary wrapper functions, this
should be less brittle in case of future changes to the CPU meter code.
2020-09-28 14:35:35 +02:00
edf1b10d2c
Read CPU frequency from sysfs by default
...
Use the more portable sysfs node /sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq
to get the CPU frequency.
In case of an error fall back to /proc/cpuinfo .
Also use a fixed width of 4 for the frequency to avoid position jumps
in case the frequency moves in the range 900-1100 MHz.
2020-09-24 20:11:28 +02:00
3c65d78d77
Update CPU freq display to use NAN on error
2020-09-24 18:06:36 +02:00
ebcf924643
Use threshold for display of guest/steal/irq meters
2020-09-24 18:06:36 +02:00
f805093589
align cpu id to right
2020-09-24 17:53:57 +02:00
4d6e4ef53c
Merge branch 'master' of https://github.com/rgouicem/htop into rgouicem-master
2020-09-09 19:38:53 +10:00
c5808c56db
Consolidate repeated macro definitions into one header
...
The MIN, MAX, CLAMP, MINIMUM, and MAXIMUM macros appear
throughout the codebase with many re-definitions. Make
a single copy of each in a common header file, and use
the BSD variants of MINIMUM/MAXIMUM due to conflicts in
the system <sys/param.h> headers.
2020-09-09 16:56:04 +10:00
a1a027b9bd
Axe automated header generation.
...
Reasoning:
- implementation was unsound -- broke down when I added a fairly
basic macro definition expanding to a struct initializer in a *.c
file.
- made it way too easy (e.g. via otherwise totally innocuous git
commands) to end up with timestamps such that it always ran
MakeHeader.py but never used its output, leading to overbuild noise
when running what should be a null 'make'.
- but mostly: it's just an awkward way of dealing with C code.
2020-09-03 11:58:58 -05:00
d0e8ff9319
fix unit (GHz -> MHz)
2020-08-31 14:09:22 +02:00
0f5d2cd1e4
fixed compilation error
2020-08-31 13:32:29 +02:00
293e3a2931
remove unused variable
2020-08-31 13:29:24 +02:00
3ef5df25bc
always display frequency in MHz
2020-08-28 12:15:32 +02:00
31391b206c
Merge branch 'hishamhm-pull-1012'
2020-08-20 15:51:21 +10:00
6b443c5da9
Merge branch 'hishamhm-pull-932'
2020-08-20 14:47:07 +10:00
a82fd262d7
Merge branch 'hishamhm-pull-960'
2020-08-20 14:19:53 +10:00
b30c22d687
Merge branch 'hishamhm-pull-914'
2020-08-20 14:09:27 +10:00
b55f9320bc
fixed x/y coordinate mixup
2020-06-12 23:53:05 +02:00
7fdd8d3732
adding support for more than 2 smaller cpumeter columns
2020-06-11 23:21:52 +02:00
f74cde982f
removed whitespace from end of lines
2020-06-11 23:00:16 +02:00
dd33444f7e
Clean up existing whitespace
2019-10-31 11:39:12 -05:00
81b64691a7
Move sysfs-reading code to LinuxProcessList.c and add average frequency.
...
This way the frequency is read from sysfs only once per update cycle
instead of every time the UI is redrawn.
This also changes the code to read from /proc/cpuinfo instead. This is because
reading from scaling_cur_freq stalls for 10ms if the previous read for the file
was more than one second ago. [1] Since htop's update cycle is
longer than that, it would cause the read of each CPU's scaling_cur_freq file
to block the UI for 20ms. This easily led to a noticeable half-second lag on
a 20+ CPU machine.
/proc/cpuinfo also has a 10ms delay, but this applies for the whole file
so the delay does not scale with the number of CPUs. [2]
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4815d3c56d1e10449a44089a47544d9ba84fad0d
[2]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7d5905dc14a87805a59f3c5bf70173aac2bb18f8
2019-08-10 22:19:32 -07:00
43728b37e7
Fix typo.
2019-08-10 11:46:21 -07:00
1acfb0a752
Show N/A instead of 0KHz when CPU frequency is not available.
2019-08-10 11:37:35 -07:00
1d5e6a27a0
Add a display option to hide CPU usage number from CPU meter.
2019-08-10 11:20:21 -07:00