prom: concurrent connections fix

Type: fix

Change-Id: I57814edb735e9dac916f2e01de95ccfb739ce655
Signed-off-by: Matus Fabian <matfabia@cisco.com>
This commit is contained in:
Matus Fabian
2024-06-28 16:11:04 +02:00
committed by Florin Coras
parent d086a3650e
commit 5c4c1b63b9
3 changed files with 42 additions and 5 deletions

View File

@ -208,7 +208,7 @@ static uword
prom_scraper_process (vlib_main_t *vm, vlib_node_runtime_t *rt,
vlib_frame_t *f)
{
uword *event_data = 0, event_type;
uword *event_data = 0, event_type, *sh_as_uword;
prom_main_t *pm = &prom_main;
hss_session_handle_t sh;
f64 timeout = 10000.0;
@ -223,12 +223,15 @@ prom_scraper_process (vlib_main_t *vm, vlib_node_runtime_t *rt,
/* timeout, do nothing */
break;
case PROM_SCRAPER_EVT_RUN:
sh.as_u64 = event_data[0];
vec_reset_length (pm->stats);
pm->stats = scrape_stats_segment (pm->stats, pm->stats_patterns,
pm->used_only);
session_send_rpc_evt_to_thread_force (sh.thread_index,
send_data_to_hss_rpc, &sh);
vec_foreach (sh_as_uword, event_data)
{
sh.as_u64 = (u64) *sh_as_uword;
session_send_rpc_evt_to_thread_force (
sh.thread_index, send_data_to_hss_rpc, sh_as_uword);
}
pm->last_scrape = vlib_time_now (vm);
break;
default: