Description
First create a benchmark to compare possible solutions.
Our options allow ignoring certain things like transactions by name, spans by origin or checkins by slug. We are compiling the pattern each time which we could do only once at the start / when setting the option.
Ideas for improving:
- Iterate and only do
equals comparison for all in list first, then iterate again and try to match via regex
- Compile pattern when setting the option, storing something like
FilterString in options that holds both the String and the compiled pattern
- A decision cache for span origins only (as those should be low cardinality). We should not do this for transaction names or checkin slugs. Maybe a simple map where we store a bool for each origin we check can improve performance.
Description
First create a benchmark to compare possible solutions.
Our options allow ignoring certain things like transactions by name, spans by origin or checkins by slug. We are compiling the pattern each time which we could do only once at the start / when setting the option.
Ideas for improving:
equalscomparison for all in list first, then iterate again and try to match via regexFilterStringin options that holds both the String and the compiled pattern