summaryrefslogtreecommitdiffstats
path: root/dragonflybsd/DragonFlyBSDProcessList.c
Commit message (Collapse)AuthorAgeFilesLines
* Update license headers to explicitly say GPLv2+Daniel Lange2021-09-221-1/+1
|
* PCP: support for 'dynamic columns' added at runtimeSohaib Mohamed2021-08-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* DragonFlyBSD: calculate whether to show entry lastChristian Göttsche2021-07-181-2/+1
| | | | Wait until it has been decided what kind of task the entry actually is.
* DragonFlyBSD: drop void TODOChristian Göttsche2021-07-181-1/+0
|
* Add ProcessList_isCPUonlineChristian Göttsche2021-07-181-0/+9
|
* Rework CPU countingChristian Göttsche2021-07-181-4/+6
| | | | | | | | | | | Currently htop does not support offline CPUs and hot-swapping, e.g. via echo 0 > /sys/devices/system/cpu/cpu2/online Split the current single cpuCount variable into activeCPUs and existingCPUs. Supersedes: #650 Related: #580
* Add a new DynamicMeter class for runtime Meter extensionNathan Scott2021-07-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is based on exploratory work by Sohaib Mohamed. The end goal is two-fold - to support addition of Meters we build via configuration files for both the PCP platform and for scripts ( https://github.com/htop-dev/htop/issues/526 ) Here, we focus on generic code and the PCP support. A new class DynamicMeter is introduced - it uses the special case 'param' field handling that previously was used only by the CPUMeter, such that every runtime-configured Meter is given a unique identifier. Unlike with the CPUMeter this is used internally only. When reading/writing to htoprc instead of CPU(N) - where N is an integer param (CPU number) - we use the string name for each meter. For example, if we have a configuration for a DynamicMeter for some Redis metrics, we might read and write "Dynamic(redis)". This identifier is subsequently matched (back) up to the configuration file so we're able to re-create arbitrary user configurations. The PCP platform configuration file format is fairly simple. We expand configs from several directories, including the users homedir alongside htoprc (below htop/meters/) and also /etc/pcp/htop/meters. The format will be described via a new pcp-htop(5) man page, but its basically ini-style and each Meter has one or more metric expressions associated, as well as specifications for labels, color and so on via a dot separated notation for individual metrics within the Meter. A few initial sample configuration files are provided below ./pcp/meters that give the general idea. The PCP "derived" metric specification - see pmRegisterDerived(3) - is used as the syntax for specifying metrics in PCP DynamicMeters.
* DragonFlyBSD: Implement CWD columnBenny Baumann2021-05-251-0/+24
|
* DragonFlyBSD: add EXE and COMM columns and use merged command line helpersChristian Göttsche2021-05-231-19/+57
|
* Call makeCommandStr on all platformsBenny Baumann2021-05-231-0/+3
|
* Move kernel/userland thread handling to platform-independent implementationBenny Baumann2021-05-231-3/+4
|
* Rename cmdlineBasenameOffset to cmdlineBasenameEnd to properly indicate the ↵Benny Baumann2021-05-231-2/+2
| | | | fields purpose
* Rename basenameOffset to cmdlineBasenameOffsetBenny Baumann2021-05-231-2/+2
|
* Rename command line field from comm to cmdlineBenny Baumann2021-05-231-3/+3
|
* DragonFlyBSD: Fix included headersBenny Baumann2021-05-221-5/+6
|
* DragonFlyBSD: Indentation and formatting fixesBenny Baumann2021-05-211-20/+22
|
* DragonFlyBSD: fixup columnsChristian Göttsche2021-05-191-0/+1
|
* platform-dependent files included relative to main source directorymayurdahibhate2021-05-101-3/+3
|
* Rework TTY columnChristian Göttsche2021-04-141-1/+9
| | | | | | | | | | * Rename internal identifier from TTY_NR to just TTY * Unify column header on platforms * Use devname(3) on BSD derivate to show the actual terminal, simplifies current FreeBSD implementation. * Use 'unsigned long int' as id type, to fit dev_t on Linux. Only on Solaris the terminal path is not yet resolved.
* Use unsigned types for CPU counts and associated variablesChristian Göttsche2021-03-191-3/+3
|
* Use String_eq wrapper instead of raw strcmpChristian Göttsche2021-01-301-1/+1
|
* Drop usage of formatted error messages from <err.h>Christian Göttsche2021-01-071-10/+4
| | | | | | | They do not clean up the ncurses environment, leaving the terminal in a broken state. Also drop bare usage of exit(3).
* DragonFlyBSD updateChristian Göttsche2020-12-201-4/+4
| | | | | - move some functions to file scope - drop unused global variable
* DragonFlyBSD updateChristian Göttsche2020-12-201-1/+1
| | | | | | - drop unused kinfo includes and link argument - detect kvm library necessity at configure step - fix variable typo
* Cull the definitions of pageSize and pageSizeKB from CRT.cNathan Scott2020-12-101-9/+6
| | | | | | | | | | | | | | | By storing the per-process m_resident and m_virt values in the form htop wants to display them in (KB, not pages), we no longer need to have definitions of pageSize and pageSizeKB in the common CRT code. These variables were never really CRT (i.e. display) related in the first place. It turns out the darwin platform code doesn't need to use these at all (the process values are extracted from the kernel in bytes not pages) and the other platforms can each use their own local pagesize variables, in more appropriate locations. Some platforms were actually already doing this, so this change is removing duplication of logic and variables there.
* Drop unused global ProcessList memory fieldsNathan Scott2020-11-271-8/+0
| | | | | | | | | | 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.
* No need to check for change when no action is requiredBenny Baumann2020-11-221-3/+2
|
* Simplify page size related calculationsChristian Göttsche2020-11-211-1/+1
|
* Rename virtual memory column from M_SIZE to M_VIRTChristian Göttsche2020-11-211-1/+1
| | | | Closes: #325
* Spelling correctionsChristian Göttsche2020-11-181-4/+4
|
* Embracing branchesBenny Baumann2020-11-021-4/+10
|
* Spacing around operatorsBenny Baumann2020-11-021-8/+8
|
* Whitespace and indentation issuesBenny Baumann2020-11-021-23/+24
|
* Spacing after keywords (if)Benny Baumann2020-11-021-2/+2
|
* Unify function argument namesChristian Göttsche2020-10-281-13/+13
| | | | | Name first argument of ProcessList_goThroughEntries consistently super Name first argument of ProcessList_new consistently userTable
* Drop duplicate assignmentChristian Göttsche2020-10-271-1/+0
|
* Hold only a const version of Settings in ProcessListChristian Göttsche2020-10-261-1/+1
|
* Hold only a const version of Settings in ProcessChristian Göttsche2020-10-261-1/+1
|
* Merge branch 'header_pause' of cgzones/htopDaniel Lange2020-10-201-1/+5
|\ | | | | | | Continue to update generic data in paused mode
| * Continue to update generic data in paused modeChristian Göttsche2020-10-191-1/+5
| | | | | | | | | | | | | | | | | | Generic data, as CPU and memory usage, are used by Meters. In paused mode they would stop receiving updates and especially Graph Meters would stop showing continuous data. Improves: #214 Closes: #253
* | Cache PAGE_SIZEChristian Göttsche2020-10-191-5/+7
|/ | | | | | man:sysconf(3) states: The values obtained from these functions are system configuration constants. They do not change during the lifetime of a process.
* Some more locations for ARRAYSIZEBenny Baumann2020-10-081-1/+2
|
* Update License consistently to GPLv2 as per COPYING fileDaniel Lange2020-10-051-1/+1
|
* Refactor __attribute__ usageChristian Göttsche2020-09-181-3/+1
| | | | Use internal macros for compatibility with non GNUC compilers.
* Switch variable/field naming from WhiteList to MatchListNathan Scott2020-09-091-2/+2
|
* Consolidate repeated macro definitions into one headerNathan Scott2020-09-091-1/+1
| | | | | | | | 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.
* Axe automated header generation.Zev Weiss2020-09-031-48/+0
| | | | | | | | | | | | | | 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.
* Clean up existing whitespaceDaniel Flanagan2019-10-311-1/+1
|
* Fix: TreeViewDiederik de Groot2017-04-211-1/+2
|
* implement: readJailNameDiederik de Groot2017-04-201-44/+69
| | | | | Note: dragonflybsd does not have 'jail_get' like freebsd does. It does however provide a sysctl "jail.list" which returns a list of all jails.

© 2014-2024 Faster IT GmbH | imprint | privacy policy