Operational Remediation Reports
WaitGroup Barrier Remediation Report
Compare arrivals at a barrier against the expected count and turn the pending count into a release, wait, or escalate remediation action.
WaitGroup Barrier Remediation Report
waitgroup_barrier_remediation_report.go
package main
import "fmt"
func main() {
var arrivals =
expected := 3
done := arrivals
if done > expected {
done = expected
}
pending := expected - done
var action string
if pending == 0 {
action = "release"
} else if pending <= 1 {
action = "wait"
} else {
action = "escalate"
}
fmt.Printf("expected=%d done=%d pending=%d %s\n", expected, done, pending, action)
}
package main
import "fmt"
func main() {
var arrivals =
expected := 3
done := arrivals
if done > expected {
done = expected
}
pending := expected - done
var action string
if pending == 0 {
action = "release"
} else if pending <= 1 {
action = "wait"
} else {
action = "escalate"
}
fmt.Printf("expected=%d done=%d pending=%d %s\n", expected, done, pending, action)
}
package main
import "fmt"
func main() {
var arrivals =
expected := 3
done := arrivals
if done > expected {
done = expected
}
pending := expected - done
var action string
if pending == 0 {
action = "release"
} else if pending <= 1 {
action = "wait"
} else {
action = "escalate"
}
fmt.Printf("expected=%d done=%d pending=%d %s\n", expected, done, pending, action)
}
barrier pending
The expected count and arrivals are scalars, so the pending work that drives the remediation action stays deterministic without waiting on a live barrier.