Add stuck tasks and startup stuck tasks to weirdness metric

Weirdness metric will replace the below two metrics:
- watchdog/stuck_startup_detected
- watchdog/stuck_tasks_detected

PiperOrigin-RevId: 373895696
This commit is contained in:
Nayana Bidari
2021-05-14 17:21:57 -07:00
committed by gVisor bot
parent 820c77d5e7
commit 8e8b752524
2 changed files with 6 additions and 4 deletions
+4 -4
View File
@@ -40,8 +40,8 @@ var (
createdSentryMetrics = false
// WeirdnessMetric is a metric with fields created to track the number
// of weird occurrences such as time fallback, partial_result and
// vsyscall count.
// of weird occurrences such as time fallback, partial_result, vsyscall
// count, watchdog startup timeouts and stuck tasks.
WeirdnessMetric *Uint64Metric
// SuspiciousOperationsMetric is a metric with fields created to detect
@@ -401,10 +401,10 @@ func CreateSentryMetrics() {
createdSentryMetrics = true
WeirdnessMetric = MustCreateNewUint64Metric("/weirdness", true /* sync */, "Increment for weird occurrences of problems such as time fallback, partial result and vsyscalls invoked in the sandbox.",
WeirdnessMetric = MustCreateNewUint64Metric("/weirdness", true /* sync */, "Increment for weird occurrences of problems such as time fallback, partial result, vsyscalls invoked in the sandbox, watchdog startup timeouts and stuck tasks.",
Field{
name: "weirdness_type",
allowedValues: []string{"time_fallback", "partial_result", "vsyscall_count"},
allowedValues: []string{"time_fallback", "partial_result", "vsyscall_count", "watchdog_stuck_startup", "watchdog_stuck_tasks"},
})
SuspiciousOperationsMetric = MustCreateNewUint64Metric("/suspicious_operations", true /* sync */, "Increment for suspicious operations such as opening an executable file to write from a gofer.",
+2
View File
@@ -243,6 +243,7 @@ func (w *Watchdog) waitForStart() {
}
stuckStartup.Increment()
metric.WeirdnessMetric.Increment("watchdog_stuck_startup")
var buf bytes.Buffer
buf.WriteString(fmt.Sprintf("Watchdog.Start() not called within %s", w.StartupTimeout))
@@ -316,6 +317,7 @@ func (w *Watchdog) runTurn() {
// Task.UninterruptibleSleepStart/Finish.
tc = &offender{lastUpdateTime: lastUpdateTime}
stuckTasks.Increment()
metric.WeirdnessMetric.Increment("watchdog_stuck_tasks")
newTaskFound = true
}
newOffenders[t] = tc