Simply record the time from entering `main` to start listening sockets.
std::lock_guard lock(servers_lock);
            createServers(config(), listen_hosts, interserver_listen_hosts, listen_try, server_pool, async_metrics, servers);
            if (servers.empty())
                throw Exception(
                    "No servers started (add valid listen_host and 'tcp_port' or 'http_port' to configuration file.)",
                    ErrorCodes::NO_ELEMENTS_IN_CONFIG);
        }
        if (servers.empty())
             throw Exception("No servers started (add valid listen_host and 'tcp_port' or 'http_port' to configuration file.)",
                ErrorCodes::NO_ELEMENTS_IN_CONFIG);
#if USE_SSL
        CertificateReloader::instance().tryLoad(config());
#endif
        
        async_metrics.start();
        {
            String level_str = config().getString("text_log.level", "");
            int level = level_str.empty() ? INT_MAX : Poco::Logger::parseLevel(level_str);
            setTextLog(global_context->getTextLog(), level);
        }
        buildLoggers(config(), logger());
        main_config_reloader->start();
        access_control.startPeriodicReloading();
        
        try
        {
            global_context->loadOrReloadDictionaries(config());
        }
        catch (...)
        {