Commit f67131df57 for frr
commit f67131df5775013599941baa37ea905ff25262c4
Author: Rajesh Varatharaj <rvaratharaj@nvidia.com>
Date: Tue Oct 27 11:29:44 2026 -0700
lib: log config read-in time with millisecond resolution
The time was kept in whole seconds, so any load under a second logged
"Configuration Read in Took: 00:00:00". Print milliseconds instead.
Signed-off-by: Rajesh Varatharaj <rvaratharaj@nvidia.com>
diff --git a/lib/lib_vty.c b/lib/lib_vty.c
index 13ddc16b69..7fc9843beb 100644
--- a/lib/lib_vty.c
+++ b/lib/lib_vty.c
@@ -317,7 +317,7 @@ DEFUN (frr_version,
}
static struct call_back {
- time_t readin_time;
+ struct timeval readin_time;
void (*start_config)(struct vty *vty);
void (*end_config)(struct vty *vty);
@@ -327,7 +327,7 @@ static struct call_back {
DEFUN_NOSH(start_config, start_config_cmd, "XFRR_start_configuration",
"The Beginning of Configuration\n")
{
- callback.readin_time = monotime(NULL);
+ monotime(&callback.readin_time);
vty->pending_allowed = 1;
@@ -340,21 +340,16 @@ DEFUN_NOSH(start_config, start_config_cmd, "XFRR_start_configuration",
DEFUN_NOSH(end_config, end_config_cmd, "XFRR_end_configuration",
"The End of Configuration\n")
{
- time_t readin_time;
- char readin_time_str[MONOTIME_STRLEN];
+ struct timeval readin_time;
int ret;
- readin_time = monotime(NULL);
- readin_time -= callback.readin_time;
-
- frrtime_to_interval(readin_time, readin_time_str,
- sizeof(readin_time_str));
+ monotime_since(&callback.readin_time, &readin_time);
/* This is also getting cleared in the config node exit */
vty->pending_allowed = 0;
ret = nb_cli_pending_commit_check(vty);
- zlog_info("Configuration Read in Took: %s", readin_time_str);
+ zlog_info("Configuration Read in Took: %pTVI", &readin_time);
zlog_debug("%s: VTY:%p, pending SET-CFG: %u", __func__, vty,
(uint32_t)vty->mgmt_num_pending_setcfg);