From 5010bbd3c44d9fb061818be7a291a474608f510a Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Mon, 28 Nov 2022 13:13:24 +0100 Subject: 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 Change-Id: Iba7f334339c46142045e43da6efab11612e7b9c0 Signed-off-by: Ole Troan --- src/vlib/stats/collector.c | 2 ++ src/vlib/stats/stats.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) 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 { -- cgit 1.2.3-korg