blob: dc800ba912c61ef4f8a7562a701ff2361e97fd30 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef NETDATA_SYS_FS_CGROUP_H
#define NETDATA_SYS_FS_CGROUP_H 1
#include "daemon/common.h"
#define CGROUP_OPTIONS_DISABLED_DUPLICATE 0x00000001
#define CGROUP_OPTIONS_SYSTEM_SLICE_SERVICE 0x00000002
#define CGROUP_OPTIONS_IS_UNIFIED 0x00000004
typedef struct netdata_ebpf_cgroup_shm_header {
int cgroup_root_count;
int cgroup_max;
int systemd_enabled;
int __pad;
size_t body_length;
} netdata_ebpf_cgroup_shm_header_t;
#define CGROUP_EBPF_NAME_SHARED_LENGTH 256
typedef struct netdata_ebpf_cgroup_shm_body {
// Considering what is exposed in this link https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits
// this length is enough to store what we want.
char name[CGROUP_EBPF_NAME_SHARED_LENGTH];
uint32_t hash;
uint32_t options;
int enabled;
char path[FILENAME_MAX + 1];
} netdata_ebpf_cgroup_shm_body_t;
typedef struct netdata_ebpf_cgroup_shm {
netdata_ebpf_cgroup_shm_header_t *header;
netdata_ebpf_cgroup_shm_body_t *body;
} netdata_ebpf_cgroup_shm_t;
#define NETDATA_SHARED_MEMORY_EBPF_CGROUP_NAME "netdata_shm_cgroup_ebpf"
#define NETDATA_NAMED_SEMAPHORE_EBPF_CGROUP_NAME "/netdata_sem_cgroup_ebpf"
#include "../proc.plugin/plugin_proc.h"
char *cgroup_parse_resolved_name_and_labels(DICTIONARY *labels, char *data);
#endif //NETDATA_SYS_FS_CGROUP_H
|