suppress error logging when continuous
This commit is contained in:
parent
6f4dda4165
commit
6131333a93
23
main.go
23
main.go
@ -55,8 +55,24 @@ var (
|
|||||||
Name: "temp_nozzle",
|
Name: "temp_nozzle",
|
||||||
Help: "Temperature, in celsius, of the print nozzle",
|
Help: "Temperature, in celsius, of the print nozzle",
|
||||||
})
|
})
|
||||||
|
errCount = 0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func errLog(err error) {
|
||||||
|
errCount++
|
||||||
|
// reset metrics
|
||||||
|
opsFlowFactor.Set(0)
|
||||||
|
opsPrintSpeed.Set(0)
|
||||||
|
opsZPosition.Set(0)
|
||||||
|
opsBed.Set(0)
|
||||||
|
opsNozzle.Set(0)
|
||||||
|
if errCount > 5 {
|
||||||
|
log.Printf("suppressing further error logging")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Printf("error retrieving telemetry: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
func recordMetrics(ctx context.Context, config Config) {
|
func recordMetrics(ctx context.Context, config Config) {
|
||||||
go func() {
|
go func() {
|
||||||
for {
|
for {
|
||||||
@ -68,20 +84,21 @@ func recordMetrics(ctx context.Context, config Config) {
|
|||||||
time.Sleep(time.Second * time.Duration(config.QueryInterval))
|
time.Sleep(time.Second * time.Duration(config.QueryInterval))
|
||||||
res, err := http.Get(config.QueryHostname + "/api/telemetry")
|
res, err := http.Get(config.QueryHostname + "/api/telemetry")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("error retrieving telemetry: %v", err)
|
errLog(err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
b, err := io.ReadAll(res.Body)
|
b, err := io.ReadAll(res.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("error retrieving telemetry: %v", err)
|
errLog(err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
t := &Metrics{}
|
t := &Metrics{}
|
||||||
err = json.Unmarshal(b, t)
|
err = json.Unmarshal(b, t)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("error parsing telemetry: %v", err)
|
errLog(err)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
errCount = 0
|
||||||
opsFlowFactor.Set(float64(t.FlowFactor))
|
opsFlowFactor.Set(float64(t.FlowFactor))
|
||||||
opsPrintSpeed.Set(float64(t.PrintingSpeed))
|
opsPrintSpeed.Set(float64(t.PrintingSpeed))
|
||||||
opsZPosition.Set(t.ZPosition)
|
opsZPosition.Set(t.ZPosition)
|
||||||
|
Loading…
Reference in New Issue
Block a user