FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
stat_segment.c File Reference
+ Include dependency graph for stat_segment.c:

Go to the source code of this file.

Functions

void vlib_stat_segment_lock (void)
 
void vlib_stat_segment_unlock (void)
 
void * vlib_stats_push_heap (void *old)
 
static u32 lookup_hash_index (u8 *name)
 
static void create_hash_index (u8 *name, u32 index)
 
static u32 vlib_stats_get_next_vector_index ()
 
static u32 vlib_stats_create_counter (stat_segment_directory_entry_t *e, void *oldheap)
 
static void vlib_stats_delete_counter (u32 index, void *oldheap)
 
void vlib_stats_delete_cm (void *cm_arg)
 
void vlib_stats_pop_heap (void *cm_arg, void *oldheap, u32 cindex, stat_directory_type_t type)
 
u8format_vlib_stats_symlink (u8 *s, va_list *args)
 
void vlib_stats_register_symlink (void *oldheap, u8 *name, u32 index1, u32 index2, u8 lock)
 
void vlib_stats_rename_symlink (void *oldheap, u64 index, u8 *new_name)
 
void vlib_stats_register_error_index (void *oldheap, u8 *name, u64 *em_vec, u64 index)
 
static void stat_validate_counter_vector2 (stat_segment_directory_entry_t *ep, u32 max1, u32 max2)
 
static void stat_validate_counter_vector (stat_segment_directory_entry_t *ep, u32 max)
 
void vlib_stats_pop_heap2 (u64 *error_vector, u32 thread_index, void *oldheap, int lock)
 
u32 stat_segment_new_entry (u8 *name, stat_directory_type_t t)
 
clib_error_tvlib_map_stat_segment_init (void)
 
static int name_sort_cmp (void *a1, void *a2)
 
static u8format_stat_dir_entry (u8 *s, va_list *args)
 
static clib_error_tshow_stat_segment_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static void update_node_counters (stat_segment_main_t *sm)
 
static void do_stat_segment_updates (vlib_main_t *vm, stat_segment_main_t *sm)
 
static clib_error_tstats_socket_accept_ready (clib_file_t *uf)
 
static clib_error_tstats_segment_socket_init (void)
 
static clib_error_tstats_segment_socket_exit (vlib_main_t *vm)
 
f64 vlib_get_stat_segment_update_rate (void)
 
static uword stat_segment_collector_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
void stat_segment_poll_add (u32 vector_index, stat_segment_update_fn update_fn, u32 caller_index, u32 interval)
 
clib_error_tstat_segment_register_gauge (u8 *name, stat_segment_update_fn update_fn, u32 caller_index)
 
clib_error_tstat_segment_register_state_counter (u8 *name, u32 *index)
 
clib_error_tstat_segment_deregister_state_counter (u32 index)
 
void stat_segment_set_state_counter (u32 index, u64 value)
 
static clib_error_tstatseg_config (vlib_main_t *vm, unformat_input_t *input)
 
static clib_error_tstatseg_sw_interface_add_del (vnet_main_t *vnm, u32 sw_if_index, u32 is_add)
 
 VNET_SW_INTERFACE_ADD_DEL_FUNCTION (statseg_sw_interface_add_del)
 
static clib_error_tstatseg_init (vlib_main_t *vm)
 

Variables

stat_segment_main_t stat_segment_main
 
static vlib_cli_command_t show_stat_segment_command
 (constructor) VLIB_CLI_COMMAND (show_stat_segment_command) More...
 
static vlib_node_registration_t stat_segment_collector
 (constructor) VLIB_REGISTER_NODE (stat_segment_collector) More...
 

Function Documentation

◆ create_hash_index()

static void create_hash_index ( u8 name,
u32  index 
)
static

Definition at line 79 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ do_stat_segment_updates()

static void do_stat_segment_updates ( vlib_main_t vm,
stat_segment_main_t sm 
)
static

Definition at line 743 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_stat_dir_entry()

static u8* format_stat_dir_entry ( u8 s,
va_list *  args 
)
static

Definition at line 508 of file stat_segment.c.

+ Here is the caller graph for this function:

◆ format_vlib_stats_symlink()

u8* format_vlib_stats_symlink ( u8 s,
va_list *  args 
)

Definition at line 232 of file stat_segment.c.

◆ lookup_hash_index()

static u32 lookup_hash_index ( u8 name)
static

Definition at line 60 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ name_sort_cmp()

static int name_sort_cmp ( void *  a1,
void *  a2 
)
static

Definition at line 499 of file stat_segment.c.

+ Here is the caller graph for this function:

◆ show_stat_segment_command_fn()

static clib_error_t* show_stat_segment_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 553 of file stat_segment.c.

+ Here is the call graph for this function:

◆ stat_segment_collector_process()

static uword stat_segment_collector_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 866 of file stat_segment.c.

+ Here is the call graph for this function:

◆ stat_segment_deregister_state_counter()

clib_error_t* stat_segment_deregister_state_counter ( u32  index)

Definition at line 934 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stat_segment_new_entry()

u32 stat_segment_new_entry ( u8 name,
stat_directory_type_t  t 
)

Definition at line 393 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stat_segment_poll_add()

void stat_segment_poll_add ( u32  vector_index,
stat_segment_update_fn  update_fn,
u32  caller_index,
u32  interval 
)

Definition at line 884 of file stat_segment.c.

+ Here is the caller graph for this function:

◆ stat_segment_register_gauge()

clib_error_t* stat_segment_register_gauge ( u8 name,
stat_segment_update_fn  update_fn,
u32  caller_index 
)

Definition at line 903 of file stat_segment.c.

+ Here is the call graph for this function:

◆ stat_segment_register_state_counter()

clib_error_t* stat_segment_register_state_counter ( u8 name,
u32 index 
)

Definition at line 922 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stat_segment_set_state_counter()

void stat_segment_set_state_counter ( u32  index,
u64  value 
)

Definition at line 962 of file stat_segment.c.

+ Here is the caller graph for this function:

◆ stat_validate_counter_vector()

static void stat_validate_counter_vector ( stat_segment_directory_entry_t ep,
u32  max 
)
static

Definition at line 355 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stat_validate_counter_vector2()

static void stat_validate_counter_vector2 ( stat_segment_directory_entry_t ep,
u32  max1,
u32  max2 
)
static

Definition at line 342 of file stat_segment.c.

+ Here is the caller graph for this function:

◆ stats_segment_socket_exit()

static clib_error_t* stats_segment_socket_exit ( vlib_main_t vm)
static

Definition at line 846 of file stat_segment.c.

◆ stats_segment_socket_init()

static clib_error_t* stats_segment_socket_init ( void  )
static

Definition at line 820 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stats_socket_accept_ready()

static clib_error_t* stats_socket_accept_ready ( clib_file_t uf)
static

Definition at line 797 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ statseg_config()

static clib_error_t* statseg_config ( vlib_main_t vm,
unformat_input_t input 
)
static

Definition at line 971 of file stat_segment.c.

+ Here is the call graph for this function:

◆ statseg_init()

static clib_error_t* statseg_init ( vlib_main_t vm)
static

Definition at line 1094 of file stat_segment.c.

+ Here is the call graph for this function:

◆ statseg_sw_interface_add_del()

static clib_error_t* statseg_sw_interface_add_del ( vnet_main_t vnm,
u32  sw_if_index,
u32  is_add 
)
static

Definition at line 1013 of file stat_segment.c.

+ Here is the call graph for this function:

◆ update_node_counters()

static void update_node_counters ( stat_segment_main_t sm)
inlinestatic

Definition at line 614 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_get_stat_segment_update_rate()

f64 vlib_get_stat_segment_update_rate ( void  )

Definition at line 860 of file stat_segment.c.

◆ vlib_map_stat_segment_init()

clib_error_t* vlib_map_stat_segment_init ( void  )

Definition at line 423 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stat_segment_lock()

void vlib_stat_segment_lock ( void  )

Definition at line 30 of file stat_segment.c.

+ Here is the caller graph for this function:

◆ vlib_stat_segment_unlock()

void vlib_stat_segment_unlock ( void  )

Definition at line 38 of file stat_segment.c.

+ Here is the caller graph for this function:

◆ vlib_stats_create_counter()

static u32 vlib_stats_create_counter ( stat_segment_directory_entry_t e,
void *  oldheap 
)
static

Definition at line 109 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stats_delete_cm()

void vlib_stats_delete_cm ( void *  cm_arg)

Definition at line 152 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stats_delete_counter()

static void vlib_stats_delete_counter ( u32  index,
void *  oldheap 
)
static

Definition at line 128 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stats_get_next_vector_index()

static u32 vlib_stats_get_next_vector_index ( )
static

Definition at line 90 of file stat_segment.c.

+ Here is the caller graph for this function:

◆ vlib_stats_pop_heap()

void vlib_stats_pop_heap ( void *  cm_arg,
void *  oldheap,
u32  cindex,
stat_directory_type_t  type 
)

Definition at line 183 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stats_pop_heap2()

void vlib_stats_pop_heap2 ( u64 error_vector,
u32  thread_index,
void *  oldheap,
int  lock 
)

Definition at line 363 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stats_push_heap()

void * vlib_stats_push_heap ( void *  old)

Definition at line 50 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stats_register_error_index()

void vlib_stats_register_error_index ( void *  oldheap,
u8 name,
u64 em_vec,
u64  index 
)

Definition at line 306 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stats_register_symlink()

void vlib_stats_register_symlink ( void *  oldheap,
u8 name,
u32  index1,
u32  index2,
u8  lock 
)

Definition at line 249 of file stat_segment.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vlib_stats_rename_symlink()

void vlib_stats_rename_symlink ( void *  oldheap,
u64  index,
u8 new_name 
)

Definition at line 283 of file stat_segment.c.

+ Here is the call graph for this function:

◆ VNET_SW_INTERFACE_ADD_DEL_FUNCTION()

VNET_SW_INTERFACE_ADD_DEL_FUNCTION ( statseg_sw_interface_add_del  )

Variable Documentation

◆ show_stat_segment_command

vlib_cli_command_t show_stat_segment_command
static
Initial value:
=
{
.path = "show statistics segment",
.short_help = "show statistics segment [verbose]",
}

(constructor) VLIB_CLI_COMMAND (show_stat_segment_command)

Definition at line 597 of file stat_segment.c.

◆ stat_segment_collector

vlib_node_registration_t stat_segment_collector
static
Initial value:
=
{
.name = "statseg-collector-process",
}

(constructor) VLIB_REGISTER_NODE (stat_segment_collector)

Definition at line 1086 of file stat_segment.c.

◆ stat_segment_main

stat_segment_main_t stat_segment_main

Definition at line 24 of file stat_segment.c.

show_stat_segment_command_fn
static clib_error_t * show_stat_segment_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: stat_segment.c:553
stat_segment_collector_process
static uword stat_segment_collector_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: stat_segment.c:866
VLIB_NODE_TYPE_PROCESS
@ VLIB_NODE_TYPE_PROCESS
Definition: node.h:84