-
Notifications
You must be signed in to change notification settings - Fork 1.9k
chore(vrl): Reduce VRL core such that it doesn't have any other dependencies to VRL #10767
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
✔️ Deploy Preview for vector-project canceled. 🔨 Explore the source changes: 28cc0d5 🔍 Inspect the deploy log: https://app.netlify.com/sites/vector-project/deploys/61dd61a88c6aa000085e76a9 |
d5032f4 to
637c93a
Compare
Signed-off-by: Pablo Sichert <[email protected]>
Signed-off-by: Pablo Sichert <[email protected]>
637c93a to
9d9b2cf
Compare
| compiler = { package = "vrl-compiler", path = "../compiler" } | ||
| diagnostic = { package = "vrl-diagnostic", path = "../diagnostic" } | ||
| parser = { package = "vrl-parser", path = "../parser" } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tl;dr: All the other changes are a consequence of this 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that's a lotta changes
Signed-off-by: Pablo Sichert <[email protected]>
|
Always wanted to see this get done. Nice, @pablosichert. |
Soak Test ResultsBaseline: 340f939 ExplanationA soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Test units below are bytes/second/CPU, except for "skewness". The further "skewness" is from 0.0 the more indication that vector lacks consistency in behavior, making predictions of fitness in the field challenging. The abbreviated table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. The abbreviated table will be omitted if no statistically interesting changes are observed.
Fine details of change detection per experiment.
Fine details of each soak run.
|
|
Soaks seem to be a bit flakey. Effectively there is no change in this PR. |
Soak Test ResultsBaseline: ed7fcc6 ExplanationA soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Test units below are bytes/second/CPU, except for "skewness". The further "skewness" is from 0.0 the more indication that vector lacks consistency in behavior, making predictions of fitness in the field challenging. The abbreviated table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. The abbreviated table will be omitted if no statistically interesting changes are observed. No statistically interesting changes with confidence 90.00%. Fine details of change detection per experiment.
Fine details of each soak run.
|
Soak Test ResultsBaseline: 7301856 ExplanationA soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Test units below are bytes/second/CPU, except for "skewness". The further "skewness" is from 0.0 the more indication that vector lacks consistency in behavior, making predictions of fitness in the field challenging. The abbreviated table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. The abbreviated table will be omitted if no statistically interesting changes are observed. No statistically interesting changes with confidence 90.00%. Fine details of change detection per experiment.
Fine details of each soak run.
|
| @@ -1,4 +1,4 @@ | |||
| use vrl::prelude::*; | |||
| use crate::prelude::*; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How has this change been made possible? I'm not seeing anywhere where prelude has been pulled into the stdlib crate..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved it to stdlib/src/lib.rs:
vector/lib/vrl/stdlib/src/lib.rs
Lines 747 to 760 in 28cc0d5
| mod prelude { | |
| pub use indoc::indoc; | |
| pub use std::fmt; | |
| pub use vrl_compiler::{ | |
| expr, expression, func_args, function, | |
| function::{ArgumentList, Compiled, Example, FunctionCompileContext}, | |
| map, state, test_function, test_type_def, type_def, Expression, Function, Parameter, | |
| TypeDef, | |
| }; | |
| pub use vrl_core::{ | |
| diagnostic::{DiagnosticError, ExpressionError, Label, Span}, | |
| kind, value, Context, Error, Kind, NotNan, Regex, Resolved, Target, Value, | |
| }; | |
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not so sure I'm keen on this since enrichment tables and other libs that implement VRL functions no longer have access to it. Would it not be better to move this to vrl_core or similar?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed offline with @JeanMertz, we'll introduce a new vrl crate that includes vrl_core and all the other vrl related crates.
However, I'm not sure we can share this particular piece, since that would mean having a cyclic dependency on vrl -> stdlib -> vrl. We can add an equivalent prelude to vrl to be accessible from the outside, though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed offline, there are a few changes still pending here before this is ready to be merged.
|
Closing this since we landed a couple of big refactorings on master in the mean time that relate to/conflict with this PR. |
Closes #10764.