mirror of
https://github.com/luckfox-eng29/kvm.git
synced 2026-01-18 03:28:19 +01:00
refactor: use structured logging
This commit is contained in:
28
ntp.go
28
ntp.go
@@ -32,13 +32,13 @@ var (
|
||||
|
||||
func isTimeSyncNeeded() bool {
|
||||
if builtTimestamp == "" {
|
||||
logger.Warnf("Built timestamp is not set, time sync is needed")
|
||||
ntpLogger.Warn().Msg("Built timestamp is not set, time sync is needed")
|
||||
return true
|
||||
}
|
||||
|
||||
ts, err := strconv.Atoi(builtTimestamp)
|
||||
if err != nil {
|
||||
logger.Warnf("Failed to parse built timestamp: %v", err)
|
||||
ntpLogger.Warn().Str("error", err.Error()).Msg("Failed to parse built timestamp")
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -46,10 +46,10 @@ func isTimeSyncNeeded() bool {
|
||||
builtTime := time.Unix(int64(ts), 0)
|
||||
now := time.Now()
|
||||
|
||||
logger.Tracef("Built time: %v, now: %v", builtTime, now)
|
||||
ntpLogger.Debug().Str("built_time", builtTime.Format(time.RFC3339)).Str("now", now.Format(time.RFC3339)).Msg("Built time and now")
|
||||
|
||||
if now.Sub(builtTime) < 0 {
|
||||
logger.Warnf("System time is behind the built time, time sync is needed")
|
||||
ntpLogger.Warn().Msg("System time is behind the built time, time sync is needed")
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ func TimeSyncLoop() {
|
||||
}
|
||||
|
||||
if !networkState.Up {
|
||||
logger.Infof("Waiting for network to come up")
|
||||
ntpLogger.Info().Msg("Waiting for network to come up")
|
||||
time.Sleep(timeSyncWaitNetUpInt)
|
||||
continue
|
||||
}
|
||||
@@ -72,11 +72,11 @@ func TimeSyncLoop() {
|
||||
// check if time sync is needed, but do nothing for now
|
||||
isTimeSyncNeeded()
|
||||
|
||||
logger.Infof("Syncing system time")
|
||||
ntpLogger.Info().Msg("Syncing system time")
|
||||
start := time.Now()
|
||||
err := SyncSystemTime()
|
||||
if err != nil {
|
||||
logger.Warnf("Failed to sync system time: %v", err)
|
||||
ntpLogger.Error().Str("error", err.Error()).Msg("Failed to sync system time")
|
||||
|
||||
// retry after a delay
|
||||
timeSyncRetryInterval += timeSyncRetryStep
|
||||
@@ -89,7 +89,9 @@ func TimeSyncLoop() {
|
||||
continue
|
||||
}
|
||||
timeSyncSuccess = true
|
||||
logger.Infof("Time sync successful, now is: %v, time taken: %v", time.Now(), time.Since(start))
|
||||
ntpLogger.Info().Str("now", time.Now().Format(time.RFC3339)).
|
||||
Str("time_taken", time.Since(start).String()).
|
||||
Msg("Time sync successful")
|
||||
time.Sleep(timeSyncInterval) // after the first sync is done
|
||||
}
|
||||
}
|
||||
@@ -109,20 +111,20 @@ func SyncSystemTime() (err error) {
|
||||
func queryNetworkTime() (*time.Time, error) {
|
||||
ntpServers, err := getNTPServersFromDHCPInfo()
|
||||
if err != nil {
|
||||
logger.Warnf("failed to get NTP servers from DHCP info: %v\n", err)
|
||||
ntpLogger.Error().Str("error", err.Error()).Msg("failed to get NTP servers from DHCP info")
|
||||
}
|
||||
|
||||
if ntpServers == nil {
|
||||
ntpServers = defaultNTPServers
|
||||
logger.Infof("Using default NTP servers: %v\n", ntpServers)
|
||||
ntpLogger.Info().Str("ntp_servers", fmt.Sprintf("%v", ntpServers)).Msg("Using default NTP servers")
|
||||
} else {
|
||||
logger.Infof("Using NTP servers from DHCP: %v\n", ntpServers)
|
||||
ntpLogger.Info().Str("ntp_servers", fmt.Sprintf("%v", ntpServers)).Msg("Using NTP servers from DHCP")
|
||||
}
|
||||
|
||||
for _, server := range ntpServers {
|
||||
now, err := queryNtpServer(server, timeSyncTimeout)
|
||||
if err == nil {
|
||||
logger.Infof("NTP server [%s] returned time: %v\n", server, now)
|
||||
ntpLogger.Info().Str("ntp_server", server).Str("time", now.Format(time.RFC3339)).Msg("NTP server returned time")
|
||||
return now, nil
|
||||
}
|
||||
}
|
||||
@@ -133,9 +135,11 @@ func queryNetworkTime() (*time.Time, error) {
|
||||
for _, url := range httpUrls {
|
||||
now, err := queryHttpTime(url, timeSyncTimeout)
|
||||
if err == nil {
|
||||
ntpLogger.Info().Str("http_url", url).Str("time", now.Format(time.RFC3339)).Msg("HTTP server returned time")
|
||||
return now, nil
|
||||
}
|
||||
}
|
||||
ntpLogger.Error().Msg("failed to query network time")
|
||||
return nil, errors.New("failed to query network time")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user