From 3fe1147194c9eb8adb200eace559cd8a99e251b3 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Thu, 13 Feb 2025 01:07:10 +1300 Subject: [PATCH] Filter in prepare --- src/Appwrite/Event/StatsUsage.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/Appwrite/Event/StatsUsage.php b/src/Appwrite/Event/StatsUsage.php index d142e0b294..dd82964ae7 100644 --- a/src/Appwrite/Event/StatsUsage.php +++ b/src/Appwrite/Event/StatsUsage.php @@ -8,7 +8,7 @@ use Utopia\Queue\Publisher; class StatsUsage extends Event { protected array $metrics = []; - protected array $reduce = []; + protected array $reduce = []; protected array $disabled = []; public function __construct(protected Publisher $publisher) @@ -42,10 +42,6 @@ class StatsUsage extends Event */ public function addMetric(string $key, int $value): self { - if ($this->disabled[$key]) { - return $this; - } - $this->metrics[] = [ 'key' => $key, 'value' => $value, @@ -62,7 +58,7 @@ class StatsUsage extends Event */ public function disableMetric(string $key): self { - $this->disabled[$key] = true; + $this->disabled[] = $key; return $this; } @@ -76,8 +72,15 @@ class StatsUsage extends Event { return [ 'project' => $this->getProject(), - 'reduce' => $this->reduce, - 'metrics' => $this->metrics, + 'reduce' => $this->reduce, + 'metrics' => \array_filter($this->metrics, function ($metric) { + foreach (array_keys($this->disabled) as $disabledMetric) { + if (\str_ends_with($metric['key'], $disabledMetric)) { + return false; + } + } + return true; + }), ]; } }