Simply record the time from entering `main` to start listening sockets.
prefix = conf_name + ".";
                    if (!pset.insert(conf_name).second)
                        throw Exception(ErrorCodes::INVALID_CONFIG_PARAMETER, "Protocol '{}' configuration contains a loop on '{}'", protocol, conf_name);
                }
            }
            else
            {
                
                
                
                is_http = server.getPortName() == "http_port" || server.getPortName() == "https_port";
            }
            if (!has_host)
                has_host = std::find(listen_hosts.begin(), listen_hosts.end(), server.getListenHost()) != listen_hosts.end();
            bool has_port = !config.getString(port_name, "").empty();
            bool force_restart = is_http && !isSameConfiguration(previous_config, config, "http_handlers");
            if (force_restart)
                LOG_TRACE(log, "<http_handlers> had been changed, will reload {}", server.getDescription());
            if (!has_host || !has_port || config.getInt(server.getPortName()) != server.portNumber() || force_restart)
            {
                server.stop();
                LOG_INFO(log, "Stopped listening for {}", server.getDescription());
            }
        }
    }
    createServers(config, listen_hosts, interserver_listen_hosts, listen_try, server_pool, async_metrics, servers,  true);
    std::erase_if(servers, std::bind_front(check_server, ""));
}
}