Feature flag lookup for prometheus_metrics_method_instrumentation gets called repeatedly
I see this repeatedly in my dev environment logs:
Feature::FlipperGate Load (2.4ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.0ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.5ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.4ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.2ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.3ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.5ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.4ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.2ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.2ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.3ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.2ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.2ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.4ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.2ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.4ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.3ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.3ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.3ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.1ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.4ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.3ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.2ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.9ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (3.0ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.2ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.4ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (1.4ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
Feature::FlipperGate Load (0.6ms) SELECT "feature_gates".* FROM "feature_gates" WHERE "feature_gates"."feature_key" = $1 [["feature_key", "prometheus_metrics_method_instrumentation"]]
What's surprising here is that Flipper has a memoization middleware that we normally use in a non-test environment: https://github.com/jnunemaker/flipper/blob/master/docs/Optimization.md
I think this is only in 10.3 based on 46cd2d93, so we should investigate ASAP.
/cc: @pchojnacki, @joshlambert, @bjk-gitlab