Add depot, attendant, jetfire, optimus, ota services with kustomize overlays
This commit is contained in:
55
services/jetfire/utils/logging.go
Normal file
55
services/jetfire/utils/logging.go
Normal file
@@ -0,0 +1,55 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/fiskerinc/cloud-services/pkg/logger"
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
var (
|
||||
outOfOrderSignalMap = make(map[string]uint)
|
||||
outOfOrderVINMap = make(map[string]uint)
|
||||
outOfOrderCount uint = 0
|
||||
outOfOrderLogDelay = time.Hour
|
||||
outOfOrderTime = time.Now().UTC()
|
||||
)
|
||||
|
||||
// This function is for aggregating and logging out of order incoming messages
|
||||
func LogOutOfOrderMsg(signal string, VIN string) {
|
||||
_, ok := outOfOrderSignalMap[signal]
|
||||
if !ok {
|
||||
outOfOrderSignalMap[signal] = 0
|
||||
}
|
||||
outOfOrderSignalMap[signal] += 1
|
||||
|
||||
_, ok = outOfOrderVINMap[VIN]
|
||||
if !ok {
|
||||
outOfOrderVINMap[VIN] = 0
|
||||
}
|
||||
outOfOrderVINMap[VIN] += 1
|
||||
outOfOrderCount += 1
|
||||
|
||||
if time.Since(outOfOrderTime) > outOfOrderLogDelay {
|
||||
|
||||
signalDict := zerolog.Dict()
|
||||
for k, v := range outOfOrderSignalMap {
|
||||
signalDict.Uint(k, v)
|
||||
}
|
||||
vinDict := zerolog.Dict()
|
||||
for k, v := range outOfOrderVINMap {
|
||||
vinDict.Uint(k, v)
|
||||
}
|
||||
|
||||
logger.Warn().Dict(
|
||||
"Signals", signalDict,
|
||||
).Dict(
|
||||
"VINs", vinDict,
|
||||
).Msgf("Received Out of Order Data! %d out-of-order messages", outOfOrderCount)
|
||||
|
||||
outOfOrderCount = 0
|
||||
outOfOrderTime = time.Now().UTC()
|
||||
clear(outOfOrderSignalMap)
|
||||
clear(outOfOrderVINMap)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user