Skip to content

Commit 66dff9f

Browse files
committed
Refactor VRL context creation
Move the VRL context creation outside of the loop to improve efficiency. This avoids redundant object creation and improves performance.
1 parent 47f30f9 commit 66dff9f

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

bin/router/src/pipeline/progressive_override.rs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -151,21 +151,20 @@ impl OverrideLabelsEvaluator {
151151
}
152152

153153
let client_request = get_client_request();
154+
let mut target = VrlTargetValue {
155+
value: VrlValue::Object(BTreeMap::from([(
156+
"request".into(),
157+
(&client_request).into(),
158+
)])),
159+
metadata: VrlValue::Object(BTreeMap::new()),
160+
secrets: VrlSecrets::default(),
161+
};
162+
163+
let mut state = VrlState::default();
164+
let timezone = VrlTimeZone::default();
165+
let mut ctx = VrlContext::new(&mut target, &mut state, &timezone);
154166

155167
for (label, expression) in &self.expressions {
156-
let mut target = VrlTargetValue {
157-
value: VrlValue::Object(BTreeMap::from([(
158-
"request".into(),
159-
(&client_request).into(),
160-
)])),
161-
metadata: VrlValue::Object(BTreeMap::new()),
162-
secrets: VrlSecrets::default(),
163-
};
164-
165-
let mut state = VrlState::default();
166-
let timezone = VrlTimeZone::default();
167-
let mut ctx = VrlContext::new(&mut target, &mut state, &timezone);
168-
169168
let evaluated_value = expression.resolve(&mut ctx).unwrap();
170169

171170
match evaluated_value {

0 commit comments

Comments
 (0)