summaryrefslogtreecommitdiffhomepage
path: root/pkg/metric
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2021-04-22 23:11:45 +0000
committergVisor bot <gvisor-bot@google.com>2021-04-22 23:11:45 +0000
commit42ab6ba3f895199ebcad7093dc2f7e98133898ae (patch)
treecd28ab29468f2f8d21108df40d88d4a4377a0c76 /pkg/metric
parentf2f926c52614691d7116ef6863aa28c385675096 (diff)
parent0a6eaed50b83a35a687699aa5e871b80605c9f46 (diff)
Merge release-20210419.0-21-g0a6eaed50 (automated)
Diffstat (limited to 'pkg/metric')
-rw-r--r--pkg/metric/metric.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/pkg/metric/metric.go b/pkg/metric/metric.go
index 2a2f0d611..c23a1b52c 100644
--- a/pkg/metric/metric.go
+++ b/pkg/metric/metric.go
@@ -35,6 +35,11 @@ var (
// ErrInitializationDone indicates that the caller tried to create a
// new metric after initialization.
ErrInitializationDone = errors.New("metric cannot be created after initialization is complete")
+
+ // WeirdnessMetric is a metric with fields created to track the number
+ // of weird occurrences such as clock fallback, partial_result and
+ // vsyscall count.
+ WeirdnessMetric *Uint64Metric
)
// Uint64Metric encapsulates a uint64 that represents some kind of metric to be
@@ -380,3 +385,16 @@ func EmitMetricUpdate() {
eventchannel.Emit(&m)
}
+
+// CreateSentryMetrics creates the sentry metrics during kernel initialization.
+func CreateSentryMetrics() {
+ if WeirdnessMetric != nil {
+ return
+ }
+
+ WeirdnessMetric = MustCreateNewUint64Metric("/weirdness", true /* sync */, "Increment for weird occurrences of problems such as clock fallback, partial result and vsyscalls invoked in the sandbox",
+ Field{
+ name: "weirdness_type",
+ allowedValues: []string{"fallback", "partial_result", "vsyscall_count"},
+ })
+}