summaryrefslogtreecommitdiffstats
path: root/collectors/ebpf.plugin/ebpf_process.h
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/ebpf.plugin/ebpf_process.h')
-rw-r--r--collectors/ebpf.plugin/ebpf_process.h115
1 files changed, 32 insertions, 83 deletions
diff --git a/collectors/ebpf.plugin/ebpf_process.h b/collectors/ebpf.plugin/ebpf_process.h
index a731227e1..73421049e 100644
--- a/collectors/ebpf.plugin/ebpf_process.h
+++ b/collectors/ebpf.plugin/ebpf_process.h
@@ -3,73 +3,44 @@
#ifndef NETDATA_EBPF_PROCESS_H
#define NETDATA_EBPF_PROCESS_H 1
-// Groups used on Dashboard
-#define NETDATA_FILE_GROUP "File"
-#define NETDATA_VFS_GROUP "VFS"
-#define NETDATA_PROCESS_GROUP "Process"
-
-// Internal constants
-#define NETDATA_GLOBAL_VECTOR 24
-#define NETDATA_VFS_ERRORS 3
+// Module name
+#define NETDATA_EBPF_MODULE_NAME_PROCESS "process"
-// Map index
-#define NETDATA_DEL_START 2
-#define NETDATA_IN_START_BYTE 3
-#define NETDATA_EXIT_START 5
-#define NETDATA_PROCESS_START 7
+// Groups used on Dashboard
+#define NETDATA_PROCESS_GROUP "processes"
+#define NETDATA_PROCESS_CGROUP_GROUP "processes (eBPF)"
// Global chart name
-#define NETDATA_FILE_OPEN_CLOSE_COUNT "file_descriptor"
-#define NETDATA_FILE_OPEN_ERR_COUNT "file_error"
-#define NETDATA_VFS_FILE_CLEAN_COUNT "deleted_objects"
-#define NETDATA_VFS_FILE_IO_COUNT "io"
-#define NETDATA_VFS_FILE_ERR_COUNT "io_error"
-
#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"
-#define NETDATA_VFS_IO_FILE_BYTES "io_bytes"
-
// Charts created on Apps submenu
-#define NETDATA_SYSCALL_APPS_FILE_OPEN "file_open"
-#define NETDATA_SYSCALL_APPS_FILE_CLOSED "file_closed"
-#define NETDATA_SYSCALL_APPS_FILE_DELETED "file_deleted"
-#define NETDATA_SYSCALL_APPS_VFS_WRITE_CALLS "vfs_write_call"
-#define NETDATA_SYSCALL_APPS_VFS_READ_CALLS "vfs_read_call"
-#define NETDATA_SYSCALL_APPS_VFS_WRITE_BYTES "vfs_write_bytes"
-#define NETDATA_SYSCALL_APPS_VFS_READ_BYTES "vfs_read_bytes"
#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"
-
-// Charts created on Apps submenu, if and only if, the return mode is active
-
-#define NETDATA_SYSCALL_APPS_FILE_OPEN_ERROR "file_open_error"
-#define NETDATA_SYSCALL_APPS_FILE_CLOSE_ERROR "file_close_error"
-#define NETDATA_SYSCALL_APPS_VFS_WRITE_CALLS_ERROR "vfs_write_error"
-#define NETDATA_SYSCALL_APPS_VFS_READ_CALLS_ERROR "vfs_read_error"
+#define NETDATA_SYSCALL_APPS_TASK_ERROR "task_error"
// Process configuration name
#define NETDATA_PROCESS_CONFIG_FILE "process.conf"
-// Index from kernel
-typedef enum ebpf_process_index {
- NETDATA_KEY_CALLS_DO_SYS_OPEN,
- NETDATA_KEY_ERROR_DO_SYS_OPEN,
-
- NETDATA_KEY_CALLS_VFS_WRITE,
- NETDATA_KEY_ERROR_VFS_WRITE,
- NETDATA_KEY_BYTES_VFS_WRITE,
-
- NETDATA_KEY_CALLS_VFS_READ,
- NETDATA_KEY_ERROR_VFS_READ,
- NETDATA_KEY_BYTES_VFS_READ,
+// 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"
- NETDATA_KEY_CALLS_VFS_UNLINK,
- NETDATA_KEY_ERROR_VFS_UNLINK,
+#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"
+// Index from kernel
+typedef enum ebpf_process_index {
NETDATA_KEY_CALLS_DO_EXIT,
NETDATA_KEY_CALLS_RELEASE_TASK,
@@ -77,20 +48,10 @@ typedef enum ebpf_process_index {
NETDATA_KEY_CALLS_DO_FORK,
NETDATA_KEY_ERROR_DO_FORK,
- NETDATA_KEY_CALLS_CLOSE_FD,
- NETDATA_KEY_ERROR_CLOSE_FD,
-
NETDATA_KEY_CALLS_SYS_CLONE,
NETDATA_KEY_ERROR_SYS_CLONE,
- NETDATA_KEY_CALLS_VFS_WRITEV,
- NETDATA_KEY_ERROR_VFS_WRITEV,
- NETDATA_KEY_BYTES_VFS_WRITEV,
-
- NETDATA_KEY_CALLS_VFS_READV,
- NETDATA_KEY_ERROR_VFS_READV,
- NETDATA_KEY_BYTES_VFS_READV
-
+ NETDATA_KEY_END_VECTOR
} ebpf_process_index_t;
// This enum acts as an index for publish vector.
@@ -99,11 +60,6 @@ typedef enum ebpf_process_index {
// values (the three initial positions) and absolute values
// (the remaining charts).
typedef enum netdata_publish_process {
- NETDATA_KEY_PUBLISH_PROCESS_OPEN,
- NETDATA_KEY_PUBLISH_PROCESS_CLOSE,
- NETDATA_KEY_PUBLISH_PROCESS_UNLINK,
- NETDATA_KEY_PUBLISH_PROCESS_READ,
- NETDATA_KEY_PUBLISH_PROCESS_WRITE,
NETDATA_KEY_PUBLISH_PROCESS_EXIT,
NETDATA_KEY_PUBLISH_PROCESS_RELEASE_TASK,
NETDATA_KEY_PUBLISH_PROCESS_FORK,
@@ -114,28 +70,21 @@ typedef enum netdata_publish_process {
typedef struct ebpf_process_publish_apps {
// Number of calls during the last read
- uint64_t call_sys_open;
- uint64_t call_close_fd;
- uint64_t call_vfs_unlink;
- uint64_t call_read;
- uint64_t call_write;
uint64_t call_do_exit;
uint64_t call_release_task;
- uint64_t call_do_fork;
- uint64_t call_sys_clone;
+ uint64_t create_process;
+ uint64_t create_thread;
// Number of errors during the last read
- uint64_t ecall_sys_open;
- uint64_t ecall_close_fd;
- uint64_t ecall_vfs_unlink;
- uint64_t ecall_read;
- uint64_t ecall_write;
- uint64_t ecall_do_fork;
- uint64_t ecall_sys_clone;
-
- // Number of bytes during the last read
- uint64_t bytes_written;
- uint64_t bytes_read;
+ uint64_t task_err;
} ebpf_process_publish_apps_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 */