Ethan Hunter

Results 41 comments of Ethan Hunter

And just for completeness, here's the comparison between the PR and a totally unpatched `main` branch: ``` │ full-bench-main.txt │ full-bench-patch_v2.txt │ │ sec/op │ sec/op vs base │ Mutes/1_inhibition_rule,_1_inhibiting_alert-4...

Hey @siavashs , at first glance it looks like the implementation of the `index` is very similar to the implementation of the `icache` in this change. E.g. `makeCacheKey` here and...

interesting... I think some of this is from calling `time.Now` less, but I'm not sure what the source of per inhibition rule performance is. Iirc, none of the benchmarks pass...

Ok, I had a few minutes to kick off some benchmarks in the background. Interestingly, I'm seeing an even bigger per-inhibit rule performance improvement. I really don't know what's causing...

So... I think that most of the performance difference is actually coming from `With` calls on Prometheus vectors 😮. My profiler says about 50% of CPU time is spent on...

That seems to have been it - here's the preliminary benchmark after moving metric vector selection outside the hot path: ``` │ main-with-index.txt │ main-with-index-fix-metrics.txt │ │ sec/op │ sec/op...

And a bit more improvement after consolidating some `time.Now()` calls: ``` │ main-with-index.txt │ main-with-index-fix-metrics-and-time.txt │ │ sec/op │ sec/op vs base │ Mutes/1_inhibition_rule,_1_inhibiting_alert-4 3.726µ ± 35% 1.806µ ± 10%...

Hi! Would you mind providing more information about the behavior you're seeing and how it differs from the behavior you expect? `repeat_interval` should configure the amount of time alertmanager waits...

Hi! Also not looking to block this, but just a drive by comment: We have an internal patch that adds a generic key/value store to the nflog as well. We've...