diff --git a/kuyaseg-controller/src/reporting/tracing_evt.rs b/kuyaseg-controller/src/reporting/tracing_evt.rs index 8b1257f..7bd4e7b 100644 --- a/kuyaseg-controller/src/reporting/tracing_evt.rs +++ b/kuyaseg-controller/src/reporting/tracing_evt.rs @@ -27,8 +27,13 @@ use crate::reporting::prometheus::{ /// - k8s events are not automatically recorded /// - prometheus labels are recorded if metrics are set for layer pub enum TracingK8sEvent { - K8sEvent { reference: ObjectReference, event: Event }, - ProLabel { label: ProLabel }, + K8sEvent { + reference: ObjectReference, + event: Box, + }, + ProLabel { + label: ProLabel, + }, } /// Watches for tracing events, containing information necessary to construst k8s events and write prometheus metrics. @@ -124,16 +129,16 @@ where _ = tx .send(TracingK8sEvent::K8sEvent { reference: span_fields.to_object(), - event, + event: Box::new(event), }) .inspect_err(|e| tracing::error!(debug=?e, "Failed to issue event on k8s event from tracing")); } // write/measure pro event if let Some(label) = try_create_pro_label(&span_fields, &event_fields, pro_severity) { - self.metrics.read().as_ref().map(|metrics| { + if let Some(metrics) = self.metrics.read().as_ref() { metrics.measure(&label); - }); + } _ = tx.send(TracingK8sEvent::ProLabel { label }).inspect_err( |e| tracing::error!(debug=?e, "Failed to issue event on prometheus label measure from tracing"), @@ -262,9 +267,8 @@ impl Visit for EventFields { } fn record_bool(&mut self, field: &tracing::field::Field, value: bool) { - match field.name() { - "critical" => self.critical = Some(value), - _ => {} + if field.name() == "critical" { + self.critical = Some(value) } }