Skip to content
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

Implement flexible filtering #62

Closed
colmsnowplow opened this issue Jun 25, 2021 · 3 comments
Closed

Implement flexible filtering #62

colmsnowplow opened this issue Jun 25, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@colmsnowplow
Copy link
Collaborator

colmsnowplow commented Jun 25, 2021

There's a PR to implement a basic and quick solution to filter enriched events, as a means to provide something basic in a short timeline.

This issue concerns what the design of a flexible and extensible filtering functionality should look like - since we may wish to go ahead with that instrumentation, but in the long term we should put more consideration into the design of filtering.

Considerations already identified are as follows:

In order to facilitate combining filter conditions (who depend on different fields) with disjunction (condition A OR condition B), some redesign of configuration and how the filters are instrumented is likely required.


It seems unintuitive to treat filters as transformations, since acking within a transformation is odd, and also they seem qualitatively different.

So, we may wish to instrument a new pkg pattern for filtering specifically, to run before transformations, which would probably follow a roughly similar pattern to how transformations are instrumented.

The only potential drawback I see to this is that should a condition depend on the output of a transformation, this design wouldn't work (eg. we need to decode some data first or perform some computation first).


Alex has suggested embedding Lua for filtering. @alexanderdean I'm unfamiliar, what's the benefit of this approach?

@alexanderdean
Copy link
Member

alexanderdean commented Jun 25, 2021

what's the benefit of this approach?

Greenspun's tenth rule of programming 🤖. Before you know it you are supporting multiple conditions, or an event name that has to start with 'foo', and you need some funky nested array handling, and you might as well have started with something that is Turing complete...

@colmsnowplow
Copy link
Collaborator Author

That makes sense. Interesting suggestion - for sure that exact issue is on my mind already so worth looking into whether Lua solves that issue. Thanks!

@colmsnowplow colmsnowplow added the enhancement New feature or request label Aug 24, 2021
@colmsnowplow
Copy link
Collaborator Author

Closing as we're implementing regex based filtering on any field - once that's in place we can see what further requirements arise in future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants