X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp%2Fstats%2Fstats.h;h=3b6f781eee3e9e32406b8bd61d065a0e3974c84b;hb=e906aacc1089ce86158486ec52d37a8470359ec2;hp=fd1ab271f78af00901d18d3785f04d7b9ba9691a;hpb=048a4e5a000017d0d632ebf02dcc23d9bf9ccf72;p=vpp.git diff --git a/src/vpp/stats/stats.h b/src/vpp/stats/stats.h index fd1ab271f78..3b6f781eee3 100644 --- a/src/vpp/stats/stats.h +++ b/src/vpp/stats/stats.h @@ -29,6 +29,9 @@ #include #include +/* Default socket to exchange segment fd */ +#define STAT_SEGMENT_SOCKET_FILE "/run/vpp/stats.sock" + typedef struct { volatile u32 lock; @@ -162,10 +165,26 @@ typedef struct ssvm_private_t stat_segment; uword *counter_vector_by_name; clib_spinlock_t *stat_segment_lockp; + clib_socket_t *socket; + u8 *socket_name; - /* Pointers to scalar stats maintained by the stat segment process */ + /* Pointers to scalar stats maintained by the stat thread */ f64 *input_rate_ptr; + f64 *last_runtime_ptr; + f64 *last_runtime_stats_clear_ptr; f64 *vector_rate_ptr; + u64 last_input_packets; + + /* Pointers to vector stats maintained by the stat thread */ + u8 *serialized_nodes; + vlib_main_t **stat_vms; + vlib_node_t ***node_dups; + + f64 *vectors_per_node; + f64 *vector_rate_in; + f64 *vector_rate_out; + f64 *vector_rate_drop; + f64 *vector_rate_punt; /* convenience */ vlib_main_t *vlib_main; @@ -187,6 +206,7 @@ typedef enum STAT_DIR_TYPE_VECTOR_POINTER, STAT_DIR_TYPE_COUNTER_VECTOR, STAT_DIR_TYPE_ERROR_INDEX, + STAT_DIR_TYPE_SERIALIZED_NODES, } stat_directory_type_t; typedef struct @@ -195,6 +215,8 @@ typedef struct void *value; } stat_segment_directory_entry_t; +void do_stat_segment_updates (stats_main_t * sm); + #endif /* __included_stats_h__ */ /*