diff options
author | Ole Troan <ot@cisco.com> | 2022-11-28 13:13:24 +0100 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2022-11-30 11:55:44 +0000 |
commit | 5010bbd3c44d9fb061818be7a291a474608f510a (patch) | |
tree | 6740b042efc5eb08425915d9aa0e672beca412a3 | |
parent | e1f2058b548fe478c6dbfd450c343912cebb9740 (diff) |
stats: add boot time in stats segment
Write time into /sys/boottime on VPP start.
This allows a stateless control plane agent to validate if it's reconnecting to the same
VPP instance.
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Iba7f334339c46142045e43da6efab11612e7b9c0
Signed-off-by: Ole Troan <ot@cisco.com>
-rw-r--r-- | src/vlib/stats/collector.c | 2 | ||||
-rw-r--r-- | src/vlib/stats/stats.h | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/vlib/stats/collector.c b/src/vlib/stats/collector.c index c27d2fc65d8..53fbfa01a22 100644 --- a/src/vlib/stats/collector.c +++ b/src/vlib/stats/collector.c @@ -169,6 +169,8 @@ stat_segment_collector_process (vlib_main_t *vm, vlib_node_runtime_t *rt, } } + sm->directory_vector[STAT_COUNTER_BOOTTIME].value = unix_time_now (); + while (1) { do_stat_segment_updates (vm, sm); diff --git a/src/vlib/stats/stats.h b/src/vlib/stats/stats.h index b07f21724a0..ab1e2828c5a 100644 --- a/src/vlib/stats/stats.h +++ b/src/vlib/stats/stats.h @@ -21,12 +21,14 @@ typedef enum { STAT_COUNTER_HEARTBEAT = 0, STAT_COUNTER_LAST_STATS_CLEAR, + STAT_COUNTER_BOOTTIME, STAT_COUNTERS } stat_segment_counter_t; #define foreach_stat_segment_counter_name \ _ (LAST_STATS_CLEAR, SCALAR_INDEX, last_stats_clear, "/sys") \ - _ (HEARTBEAT, SCALAR_INDEX, heartbeat, "/sys") + _ (HEARTBEAT, SCALAR_INDEX, heartbeat, "/sys") \ + _ (BOOTTIME, SCALAR_INDEX, boottime, "/sys") typedef struct { |