From a2d7dede737947d7c6afa20a88e1f0c64e0eb96c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 10 Aug 2023 11:18:52 +0200 Subject: Merging upstream version 1.42.0. Signed-off-by: Daniel Baumann --- collectors/ebpf.plugin/ebpf_swap.c | 48 +++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'collectors/ebpf.plugin/ebpf_swap.c') 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); -- cgit v1.2.3