123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- // SPDX-License-Identifier: GPL-3.0-or-later
- #ifndef NETDATA_EBPF_PROCESS_H
- #define NETDATA_EBPF_PROCESS_H 1
- // Module name
- #define NETDATA_EBPF_MODULE_NAME_PROCESS "process"
- // Groups used on Dashboard
- #define NETDATA_PROCESS_GROUP "processes"
- #define NETDATA_PROCESS_CGROUP_GROUP "processes (eBPF)"
- // Global chart name
- #define NETDATA_EXIT_SYSCALL "exit"
- #define NETDATA_PROCESS_SYSCALL "process_thread"
- #define NETDATA_PROCESS_ERROR_NAME "task_error"
- #define NETDATA_PROCESS_STATUS_NAME "process_status"
- // Charts created on Apps submenu
- #define NETDATA_SYSCALL_APPS_TASK_PROCESS "process_create"
- #define NETDATA_SYSCALL_APPS_TASK_THREAD "thread_create"
- #define NETDATA_SYSCALL_APPS_TASK_EXIT "task_exit"
- #define NETDATA_SYSCALL_APPS_TASK_CLOSE "task_close"
- #define NETDATA_SYSCALL_APPS_TASK_ERROR "task_error"
- // Process configuration name
- #define NETDATA_PROCESS_CONFIG_FILE "process.conf"
- // Contexts
- #define NETDATA_CGROUP_PROCESS_CREATE_CONTEXT "cgroup.process_create"
- #define NETDATA_CGROUP_THREAD_CREATE_CONTEXT "cgroup.thread_create"
- #define NETDATA_CGROUP_PROCESS_CLOSE_CONTEXT "cgroup.task_close"
- #define NETDATA_CGROUP_PROCESS_EXIT_CONTEXT "cgroup.task_exit"
- #define NETDATA_CGROUP_PROCESS_ERROR_CONTEXT "cgroup.task_error"
- #define NETDATA_SYSTEMD_PROCESS_CREATE_CONTEXT "services.process_create"
- #define NETDATA_SYSTEMD_THREAD_CREATE_CONTEXT "services.thread_create"
- #define NETDATA_SYSTEMD_PROCESS_CLOSE_CONTEXT "services.task_close"
- #define NETDATA_SYSTEMD_PROCESS_EXIT_CONTEXT "services.task_exit"
- #define NETDATA_SYSTEMD_PROCESS_ERROR_CONTEXT "services.task_error"
- #define NETDATA_EBPF_CGROUP_UPDATE 30
- // Statistical information
- enum netdata_ebpf_thread_stats{
- NETDATA_EBPF_THREAD_STAT_TOTAL,
- NETDATA_EBPF_THREAD_STAT_RUNNING,
- NETDATA_EBPF_THREAD_STAT_END
- };
- enum netdata_ebpf_load_mode_stats{
- NETDATA_EBPF_LOAD_STAT_LEGACY,
- NETDATA_EBPF_LOAD_STAT_CORE,
- NETDATA_EBPF_LOAD_STAT_END
- };
- // Index from kernel
- typedef enum ebpf_process_index {
- NETDATA_KEY_CALLS_DO_EXIT,
- NETDATA_KEY_CALLS_RELEASE_TASK,
- NETDATA_KEY_CALLS_DO_FORK,
- NETDATA_KEY_ERROR_DO_FORK,
- NETDATA_KEY_CALLS_SYS_CLONE,
- NETDATA_KEY_ERROR_SYS_CLONE,
- NETDATA_KEY_END_VECTOR
- } ebpf_process_index_t;
- // This enum acts as an index for publish vector.
- // Do not change the enum order because we use
- // different algorithms to make charts with incremental
- // values (the three initial positions) and absolute values
- // (the remaining charts).
- typedef enum netdata_publish_process {
- NETDATA_KEY_PUBLISH_PROCESS_EXIT,
- NETDATA_KEY_PUBLISH_PROCESS_RELEASE_TASK,
- NETDATA_KEY_PUBLISH_PROCESS_FORK,
- NETDATA_KEY_PUBLISH_PROCESS_CLONE,
- NETDATA_KEY_PUBLISH_PROCESS_END
- } netdata_publish_process_t;
- enum ebpf_process_tables {
- NETDATA_PROCESS_PID_TABLE,
- NETDATA_PROCESS_GLOBAL_TABLE,
- NETDATA_PROCESS_CTRL_TABLE
- };
- extern struct config process_config;
- #endif /* NETDATA_EBPF_PROCESS_H */
|