Commit graph

431 commits

Author SHA1 Message Date
zackiloco a5e4969d7e Remove pthread_exit().
Returning from the thread this way prevents local variables to be
destructed correctly since pthread_exit is marked noreturn.

This fixes a segmentation fault with glibc and llvm-libunwind on exit.
2023-05-25 23:00:07 +02:00
zackiloco a2fa9da073 Replace statvfs64 with statvfs and define _FILE_OFFSET_BITS=64.
On my musl system statvfs64 is not exposed by default. The musl FAQ
recommends against using type64_t types, see:
https://wiki.musl-libc.org/faq.html#Q:-Do-I-need-to-define-%3Ccode%3E_LARGEFILE64_SOURCE%3C/code%3E-to-get-64bit-%3Ccode%3Eoff_t%3C/code%3E?.

Defining `_FILE_OFFSET_BITS=64` and using type_t lets type_t use the 64
bit interface, see:
https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html#index-_005fFILE_005fOFFSET_005fBITS.
2023-05-25 23:00:07 +02:00
zackiloco 7dac8505c4 Include <codecvt> required by Clang. 2023-05-25 23:00:07 +02:00
zackiloco 34ae6d96d5 Move #include to top level and exclude Clang from compiler version
check.

Clang cannot handle <semaphore> being included in a namespace, which is
also unadvised see:
https://softwareengineering.stackexchange.com/a/335261.

Using the fallback <semaphore.h> is only meant for GCC 10, but Clang
defines `__GNUC__ = 4` so exclude Clang.
2023-05-25 23:00:07 +02:00
zackiloco 922b6475ae Insert std:: for warning unqualified call to std::move. 2023-05-25 23:00:07 +02:00
cpalv 1039bd5b5d amend! update cpu load average display
update cpu load average display

applied suggested changes
2023-05-24 19:51:43 -05:00
cpalv 5d2f7420c3 update cpu load average display 2023-05-23 19:06:50 -05:00
aristocratos b0fc63537b println -> fmt::println 2023-05-21 12:26:48 +02:00
aristocratos fbc349da2a Readd using namespace fmt 2023-05-21 12:11:29 +02:00
aristocratos bd688e24bf Add fmt prefix for fmtlib 2023-05-21 11:58:52 +02:00
Steven Xu 7ca1cc533a fix: prefix with fmt:: to fix ambiguous call to format(), that also refers to /usr/include/c++/13.1.1/format 2023-05-21 19:33:44 +10:00
aristocratos 09c075e06c Debug times thousand separator 2023-05-21 01:11:35 +02:00
aristocratos e11d64e8d7 Debug times box changes 2023-05-20 15:20:27 +02:00
aristocratos 21b85f8913 btop.cpp -> fmt 2023-05-20 14:52:50 +02:00
Steffen 053bacef1d Silence "warning: unqualified call to 'std::move'" in clang. 2023-03-07 13:16:04 +01:00
Jakob P. Liljenberg 3200de584f
Merge pull request #502 from mattico/linux-zfs-arc
Linux: subtract ZFS ARC min size from available memory
2023-02-23 18:49:01 +01:00
Matt Ickstadt 345bf7c052 Linux: subtract ZFS ARC min size from available memory 2023-02-23 10:59:10 -06:00
simplepad 2b18c6952d
fix zfs on freebsd not reporting IO 2022-12-21 21:45:25 +03:00
aristocratos e67a35df08 Removed unused statement... 2022-11-30 23:18:04 +01:00
aristocratos 9aaffd6b26 Fixed: Use MemFree for used mem calculation if MemAvailable is greater than MemTotal. 2022-11-30 22:41:08 +01:00
aristocratos 0f8498fa4e v1.2.13 Bug fixes 2022-11-06 22:36:34 +01:00
Jakob P. Liljenberg 9dc57534b1
Merge pull request #464 from correabuscar/osx_replace__getnameinfo__with__inet_ntop
osx: replace getnameinfo with inet_ntop
2022-11-06 15:24:30 +01:00
correabuscar f4eea3f3cf osx: replace getnameinfo with inet_ntop
this is like PR #462 for FreeBSD,
and like PR #458 for Linux.
2022-11-06 14:56:54 +01:00
correabuscar 7ff3c7f7d0 a comment about AF_LINK being ignored on purpose 2022-11-06 13:49:44 +01:00
Jakob P. Liljenberg 20df83658a
Merge pull request #462 from correabuscar/freebsd_replace__getnameinfo__with__inet_ntop
FreeBSD: replace getnameinfo with inet_ntop
2022-11-06 12:43:57 +01:00
correabuscar 12def527cd FreeBSD: replace getnameinfo with inet_ntop
also make IPv6 work.
2022-11-06 12:04:38 +01:00
aristocratos 5a53fb4a2c Fixed: Process nice value underflowing, issue #461 2022-11-06 11:32:17 +01:00
Jakob P. Liljenberg f7dbf50b75
Merge pull request #459 from correabuscar/fbsd_use_first_IP_of_interface_instead_of_last
FreeBSD: use the first IP of the interface
2022-11-06 10:51:28 +01:00
correabuscar bd7018ed96 OSX: use the first IP of the interface
...instead of the last.

Side effect of this is that it also detects when the current IP gets
removed from the interface, instead of keep displaying the old IP.

This is PR #457 but for OSX, not Linux.
2022-11-06 10:34:30 +01:00
correabuscar 16ce8d21b1 FreeBSD: use the first IP of the interface
... instead of the last.

Side effect of this is that it also detects when the current IP
gets removed from the interface, instead of keep displaying the old IP.

This is PR #457 but for FreeBSD, not Linux.
2022-11-06 08:23:30 +01:00
Jakob P. Liljenberg a2685962d9
Merge pull request #446 from daephx/fix-conf-typo [skip actions]
fix: spelling mistake in btop.conf
2022-11-06 04:20:54 +01:00
aristocratos 68f7d1f4bb Fixed: Not picking up last username from /etc/passwd 2022-11-05 22:56:52 +01:00
correabuscar bad9bbc160 make IPBUFFER_MAXSIZE an enum constant
... instead of a macro constant(which made the code less readable!)

Supposedly it also doesn't use run-time storage.
2022-11-04 23:23:27 +01:00
correabuscar 96a22b4078 use inet_ntop instead of getnameinfo
saves 979 bytes of reserved buffer because:
NI_MAXHOST is 1025 bytes
and
INET6_ADDRSTRLEN is 46

Depends on PR #457 being merged first.
2022-11-04 23:23:27 +01:00
correabuscar eec1999a8f Show the first IP of the interface in NET box
... instead of the last.

Also, indented the `for` statement with tabs rather than spaces.

Closes #456
2022-11-04 01:45:09 +01:00
Arjun P c1675634ef Address comment 2022-10-31 21:42:34 +00:00
Arjun P bb40de64c9 Fix bug in proc_tree view when showing full cmd 2022-10-30 09:27:56 +00:00
Arjun P 4fbda9df29 proc tree: fix width threshold to match commit message and use and/or instead of &&, || 2022-10-29 00:20:11 +01:00
Arjun P ede7d0a76a proc tree view: if there's more than 40 width left, try to print full cmd 2022-10-28 22:24:56 +01:00
aristocratos 9f0fcdd5bf Fixed: Moved up get_cpuHz() in the execution order to get better cpu clock reading. 2022-10-27 15:09:00 +02:00
aristocratos dda9f2589f Fixed: Ignore disks that fails in statvfs64() to avoid slowdowns and possible crashes. 2022-10-23 19:33:04 +02:00
daephx 7943a0234a fix: spelling mistake in btop.conf 2022-10-15 18:23:07 -07:00
aristocratos 8a07bc43b4 Changed: Reverted back to sysconf(_SC_NPROCESSORS_ONLN) for Cpu core count ant let the new dynamic update fix if cores are turned on later 2022-10-13 09:26:06 +02:00
aristocratos 3dd6a6cc6b v1.2.12 Bug fix 2022-10-07 20:59:47 +02:00
aristocratos 4f45b9b25f Added: Dynamic updating of max number of CPU cores 2022-10-07 20:45:12 +02:00
aristocratos 14444760c4 v1.2.11 Quick fix for number of cores detection 2022-10-07 13:52:34 +02:00
aristocratos e5cc895015 Fixed: Number of cores wrongly detected for Ryzen in rare cases. 2022-10-07 13:41:04 +02:00
aristocratos 7a2556eae5 v1.2.10 Bug fixes, cleanup + a new theme 2022-10-06 22:16:34 +02:00
Jakob P. Liljenberg d58a17afb1
Merge pull request #438 from stefanos82/main
Further cleanup
2022-10-05 12:28:55 +02:00
aristocratos 0cb31e7b11 Fixed: Cpu::collect() core count counter... 2022-10-05 10:41:09 +02:00
Στέφανος f0e413ed6f All but two places const bool have been updated
I haven't touched `include/robin_hood.h` as I don't know whether it's a
third-party header file that could get rewritten at a later time of a
possible future release by the author(s) of it.
2022-10-04 21:36:04 +03:00
Στέφανος 8331cb36f8 More const bool cleanup 2022-10-04 17:33:53 +03:00
Στέφανος afeef173fc Remove const from bool variables 2022-10-04 17:06:39 +03:00
Στέφανος 820391494b Avoid the unnecessary use of copy constructor
When you want to pass a `std::string` to `std::string_view`,
prefer to do such operation during object initialization via `{}` so you
can avoid to use the copy constructor, which can be expensive under
certain situations.
2022-10-04 16:20:20 +03:00
Στέφανος ab7fe62e65 Fix variable initialization to 'auto' for getB()
It does not make sense to return a `const bool&` as we are dealing with
Boolean literals that are `prvalue`s of type bool.

The compiler is smart enough to do the necessary optimizations wherever
is applicable.
2022-10-04 12:56:14 +03:00
Στέφανος 36a180033d Forgot to update 'auto' usage wherever necessary 2022-10-04 12:11:12 +03:00
Στέφανος 98b35d20a5 More 'No need for const & in bool' 2022-10-04 11:57:15 +03:00
Στέφανος 2f1bf0df01 No need for const & in bool 2022-10-04 11:47:26 +03:00
Στέφανος 73afc487fa
Merge branch 'main' into fixed-merge-conflict 2022-10-03 10:41:40 +03:00
aristocratos 96b770cfdb Changed: Using sysconf(_SC_NPROCESSORS_CONF) for number of cores instead of sysconf(_SC_NPROCESSORS_ONLN) 2022-10-03 08:49:41 +02:00
Στέφανος 1fddbc1cd6 Further Cleanup Part 2 2022-10-03 00:29:05 +03:00
Στέφανος eda6873071 Further 'cleanup' 2022-10-02 21:52:27 +03:00
Στέφανος dfa2a9b920 Further improvements 2022-10-02 19:09:19 +03:00
Στέφανος 478a44cc57 Clean up btop_tools.{hpp,cpp} files 2022-10-02 18:52:18 +03:00
aristocratos 24f06094f8 Fixed: Crashing when cores are offline 2022-10-02 15:25:10 +02:00
aristocratos 3796a8ccee Fixed: Extra checks to avoid crash on trying to replace empty strings in tree mode 2022-10-02 13:20:15 +02:00
aristocratos 26ac007777 Fixed: Process tree filtering not case insensitive 2022-08-28 14:22:36 +02:00
aristocratos 0c6a2f701d v1.2.9 Bug fixes + new features and themes 2022-08-28 13:47:37 +02:00
aristocratos 90034156dd Fixed: Memory values not clearing properly when not in graph mode in mem box 2022-08-28 13:36:00 +02:00
Aristocratos 2d6bf1f4aa Added: Option to hide the small cpu graphs for processes 2022-07-29 16:18:06 +02:00
Aristocratos edbafa9060 Changed: Small graphs now show colors for each character 2022-07-26 21:34:14 +02:00
aristocratos 7dc398f0c0 Merge branch 'main' of github.com:aristocratos/btop 2022-07-13 17:26:46 +02:00
aristocratos a84a7e6a5c Fixed: Getting selfpath on macos (fix for finding theme folder) 2022-07-13 17:24:34 +02:00
Jakob P. Liljenberg b48596486e
Merge pull request #385 from simplepad/zfs-iostat-new
Implement new ZFS pool io monitoring and the option to show ZFS pools only
2022-07-11 19:24:08 +02:00
simplepad a33bab3000
switch Logger calls to debug() to avoid filling up the logfile 2022-07-11 19:16:19 +03:00
simplepad bc608e862e
rename zfs_pools_only option to zfs_hide_datasets, make its description clearer 2022-07-11 19:08:25 +03:00
simplepad 189cba73e4
check if at least one object was read before updating ZFS pool io in zfs_collect_pool_total_stats(), use try-catch to prevent possible crashes from int_64t conversions 2022-07-09 03:46:15 +03:00
aristocratos 45c8a3f3d5 Merge branch 'main' of github.com:aristocratos/btop 2022-07-08 19:40:23 +02:00
mohammad hashemy 3e049046f7 add "?" to see help
Signed-off-by: mohammad hashemy <smhd.hashemy@outlook.com>
2022-07-07 17:56:05 +04:30
aristocratos ab92ed1257 Fixed: Logo transparency 2022-07-05 11:52:12 +02:00
simplepad 4969dd8dc6
Use fs::directory_iterator() instead of readdir() in ZFS functions, use fs::path instead of strings. 2022-07-05 01:12:19 +03:00
simplepad 30cc42fcd9
Move get_zfs_stat_file() and zfs_collect_pool_total_stats() functions declarations to btop_collect.cpp so they aren't included when compiling for macos and freebsd 2022-07-05 00:20:33 +03:00
simplepad 7feff854fd
Made ZFS stats collection compatible with zfs_pools_only option. ZFS pool's stat filepath points to the objset-* file when the option is disabled, otherwise it points to the pool's stats directory. Made ZFS total pool stat collection into a separate function for clean code. Also removed an unnecessary variable in the default ZFS stat collection, and changed io_ticks to track the number of reads/writes, reducing unnecessary calculations. 2022-07-04 01:28:25 +03:00
simplepad ed20cb9e07
Re-implemented ZFS stat collection to be compatible with new ZFS versions, now it uses files "/proc/spl/kstat/zfs/*pool_name*/objset*". Needs additional work to be compatible with the option "zfs_pools_only". 2022-07-03 21:05:40 +03:00
aristocratos 4818441817 Pass const string ref 2022-07-03 12:56:04 +02:00
aristocratos 6b1b9f8142 Changed: Rewrite of process sorting and tree generation including fixes for tree sorting and mouse support 2022-07-03 12:37:54 +02:00
simplepad d8d7e40814
Add zfs_pools_only option 2022-07-01 19:30:50 +03:00
aristocratos 102b6dbc9d v1.2.8 New features & themes 2022-06-29 18:59:27 +02:00
Jakob P. Liljenberg b0f5eb6ea7
Merge pull request #374 from simplepad/zfs-pool-io-support
Added support for ZFS pool io stats monitoring
2022-06-29 13:46:14 +02:00
simplepad aeea53518b
use Shared::procPath, fix Logger error type 2022-06-29 14:42:27 +03:00
aristocratos f35d36ab6c Fixed kernel proc filter clearing issue + optimization 2022-06-29 09:54:28 +02:00
aristocratos b450293f7f Optimize away clear_kernel_cache() function 2022-06-29 09:43:17 +02:00
aristocratos 39f3ac4785 Merge branch 'kernel-filtering' 2022-06-29 09:33:33 +02:00
simplepad 126e89bf17
fix identation 2022-06-27 19:12:23 +03:00
simplepad d402f4cece
Remove duplicate fstype setter 2022-06-25 20:07:13 +03:00
simplepad a88671b68f
Remove forgotten debug logger calls 2022-06-25 20:02:01 +03:00
simplepad fbba6b69d3
Added support for ZFS pool io stats monitoring 2022-06-25 18:12:35 +03:00
Jakob P. Liljenberg 7d86602ede
Changed: Disable battery monitoring if it fails instead of exiting 2022-06-21 14:42:06 +02:00
0xJoeMama d916e064d1
Changed spaces to tabs 2022-05-29 16:11:27 +03:00
0xJoeMama 482734766a
Finished kernel proc filtering. 2022-05-29 16:09:55 +03:00