summaryrefslogtreecommitdiffstats
path: root/collectors/ebpf.plugin/ebpf_swap.c
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/ebpf.plugin/ebpf_swap.c')
-rw-r--r--collectors/ebpf.plugin/ebpf_swap.c48
1 files changed, 24 insertions, 24 deletions
diff --git a/collectors/ebpf.plugin/ebpf_swap.c b/collectors/ebpf.plugin/ebpf_swap.c
index 9a1640a35..359fe2308 100644
--- a/collectors/ebpf.plugin/ebpf_swap.c
+++ b/collectors/ebpf.plugin/ebpf_swap.c
@@ -322,13 +322,13 @@ void ebpf_obsolete_swap_apps_charts(struct ebpf_module *em)
*/
static void ebpf_obsolete_swap_global(ebpf_module_t *em)
{
- ebpf_write_chart_obsolete(NETDATA_EBPF_SYSTEM_GROUP,
+ ebpf_write_chart_obsolete(NETDATA_EBPF_MEMORY_GROUP,
NETDATA_MEM_SWAP_CHART,
"Calls to access swap memory",
EBPF_COMMON_DIMENSION_CALL, NETDATA_SYSTEM_SWAP_SUBMENU,
NETDATA_EBPF_CHART_TYPE_LINE,
NULL,
- NETDATA_CHART_PRIO_SYSTEM_SWAP_CALLS,
+ NETDATA_CHART_PRIO_MEM_SWAP_CALLS,
em->update_every);
}
@@ -507,7 +507,7 @@ static void read_swap_apps_table(int maps_per_core)
*/
static void swap_send_global()
{
- write_io_chart(NETDATA_MEM_SWAP_CHART, NETDATA_EBPF_SYSTEM_GROUP,
+ write_io_chart(NETDATA_MEM_SWAP_CHART, NETDATA_EBPF_MEMORY_GROUP,
swap_publish_aggregated[NETDATA_KEY_SWAP_WRITEPAGE_CALL].dimension,
(long long) swap_hash_values[NETDATA_KEY_SWAP_WRITEPAGE_CALL],
swap_publish_aggregated[NETDATA_KEY_SWAP_READPAGE_CALL].dimension,
@@ -519,26 +519,24 @@ static void swap_send_global()
*
* Read the table with number of calls to all functions
*
+ * @param stats vector used to read data from control table.
* @param maps_per_core do I need to read all cores?
*/
-static void ebpf_swap_read_global_table(int maps_per_core)
-{
- netdata_idx_t *stored = swap_values;
- netdata_idx_t *val = swap_hash_values;
- int fd = swap_maps[NETDATA_SWAP_GLOBAL_TABLE].map_fd;
-
- uint32_t i, end = NETDATA_SWAP_END;
- for (i = NETDATA_KEY_SWAP_READPAGE_CALL; i < end; i++) {
- if (!bpf_map_lookup_elem(fd, &i, stored)) {
- int j;
- int last = (maps_per_core) ? ebpf_nprocs : 1;
- netdata_idx_t total = 0;
- for (j = 0; j < last; j++)
- total += stored[j];
-
- val[i] = total;
- }
- }
+static void ebpf_swap_read_global_table(netdata_idx_t *stats, int maps_per_core)
+{
+ ebpf_read_global_table_stats(swap_hash_values,
+ swap_values,
+ swap_maps[NETDATA_SWAP_GLOBAL_TABLE].map_fd,
+ maps_per_core,
+ NETDATA_KEY_SWAP_READPAGE_CALL,
+ NETDATA_SWAP_END);
+
+ ebpf_read_global_table_stats(stats,
+ swap_values,
+ swap_maps[NETDATA_SWAP_CONTROLLER].map_fd,
+ maps_per_core,
+ NETDATA_CONTROLLER_PID_TABLE_ADD,
+ NETDATA_CONTROLLER_END);
}
/**
@@ -804,6 +802,8 @@ static void swap_collector(ebpf_module_t *em)
int maps_per_core = em->maps_per_core;
uint32_t running_time = 0;
uint32_t lifetime = em->lifetime;
+ netdata_idx_t *stats = em->hash_table_stats;
+ memset(stats, 0, sizeof(em->hash_table_stats));
while (!ebpf_exit_plugin && running_time < lifetime) {
(void)heartbeat_next(&hb, USEC_PER_SEC);
if (ebpf_exit_plugin || ++counter != update_every)
@@ -811,7 +811,7 @@ static void swap_collector(ebpf_module_t *em)
counter = 0;
netdata_apps_integration_flags_t apps = em->apps_charts;
- ebpf_swap_read_global_table(maps_per_core);
+ ebpf_swap_read_global_table(stats, maps_per_core);
pthread_mutex_lock(&collect_data_mutex);
if (apps)
read_swap_apps_table(maps_per_core);
@@ -914,12 +914,12 @@ static void ebpf_swap_allocate_global_vectors(int apps)
*/
static void ebpf_create_swap_charts(int update_every)
{
- ebpf_create_chart(NETDATA_EBPF_SYSTEM_GROUP, NETDATA_MEM_SWAP_CHART,
+ ebpf_create_chart(NETDATA_EBPF_MEMORY_GROUP, NETDATA_MEM_SWAP_CHART,
"Calls to access swap memory",
EBPF_COMMON_DIMENSION_CALL, NETDATA_SYSTEM_SWAP_SUBMENU,
NULL,
NETDATA_EBPF_CHART_TYPE_LINE,
- NETDATA_CHART_PRIO_SYSTEM_SWAP_CALLS,
+ NETDATA_CHART_PRIO_MEM_SWAP_CALLS,
ebpf_create_global_dimension,
swap_publish_aggregated, NETDATA_SWAP_END,
update_every, NETDATA_EBPF_MODULE_NAME_SWAP);