From 25f82895c5dfd9638124b5a5ed5eaf8cc6ed53eb Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 17 Sep 2024 12:20:55 +0300 Subject: [PATCH] adding external messages usage --- app/init.php | 10 ++++++++-- src/Appwrite/Platform/Workers/Messaging.php | 12 +++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/init.php b/app/init.php index 8f166f5703..b4ab772e0e 100644 --- a/app/init.php +++ b/app/init.php @@ -227,8 +227,14 @@ const METRIC_USERS = 'users'; const METRIC_AUTH_METHOD_PHONE = 'auth.method.phone'; const METRIC_AUTH_METHOD_PHONE_COUNTRY_CODE = METRIC_AUTH_METHOD_PHONE . '.{countryCode}'; const METRIC_MESSAGES = 'messages'; -const METRIC_MESSAGES_SENT = METRIC_MESSAGES . '.{type}.{provider}.sent'; -const METRIC_MESSAGES_FAILED = METRIC_MESSAGES . '.{type}.{provider}.failed'; +const METRIC_MESSAGES_SENT = METRIC_MESSAGES . '.sent'; +const METRIC_MESSAGES_FAILED = METRIC_MESSAGES . '.failed'; +const METRIC_MESSAGES_TYPE = METRIC_MESSAGES . '.{type}'; +const METRIC_MESSAGES_TYPE_SENT = METRIC_MESSAGES . '.{type}.sent'; +const METRIC_MESSAGES_TYPE_FAILED = METRIC_MESSAGES . '.{type}.failed'; +const METRIC_MESSAGES_TYPE_PROVIDER = METRIC_MESSAGES . '.{type}.{provider}'; +const METRIC_MESSAGES_TYPE_PROVIDER_SENT = METRIC_MESSAGES . '.{type}.{provider}.sent'; +const METRIC_MESSAGES_TYPE_PROVIDER_FAILED = METRIC_MESSAGES . '.{type}.{provider}.failed'; const METRIC_SESSIONS = 'sessions'; const METRIC_DATABASES = 'databases'; const METRIC_COLLECTIONS = 'collections'; diff --git a/src/Appwrite/Platform/Workers/Messaging.php b/src/Appwrite/Platform/Workers/Messaging.php index c179218b92..1e6f4e6e08 100644 --- a/src/Appwrite/Platform/Workers/Messaging.php +++ b/src/Appwrite/Platform/Workers/Messaging.php @@ -289,10 +289,16 @@ class Messaging extends Action } finally { $queueForUsage - ->addMetric(METRIC_MESSAGES, 1) - ->addMetric(str_replace(['{type}', '{provider}'], [$provider->getAttribute('type'), $this->getSmsAdapter($provider)], METRIC_MESSAGES_SENT), $deliveredTotal) - ->addMetric(str_replace(['{type}', '{provider}'], [$provider->getAttribute('type'), $this->getSmsAdapter($provider)], METRIC_MESSAGES_FAILED), $deliveryErrors) ->setProject($project) + ->addMetric(METRIC_MESSAGES,($deliveredTotal+$deliveryErrors)) + ->addMetric(METRIC_MESSAGES_SENT, $deliveredTotal) + ->addMetric(METRIC_MESSAGES_FAILED, $deliveryErrors) + ->addMetric(str_replace('{type}', $provider->getAttribute('type'), METRIC_MESSAGES_TYPE), ($deliveredTotal+$deliveryErrors)) + ->addMetric(str_replace('{type}', $provider->getAttribute('type'), METRIC_MESSAGES_TYPE_SENT), $deliveredTotal) + ->addMetric(str_replace('{type}', $provider->getAttribute('type'), METRIC_MESSAGES_TYPE_FAILED), $deliveryErrors) + ->addMetric(str_replace(['{type}', '{provider}'], [$provider->getAttribute('type'), $this->getSmsAdapter($provider)], METRIC_MESSAGES_TYPE_PROVIDER), ($deliveredTotal+$deliveryErrors)) + ->addMetric(str_replace(['{type}', '{provider}'], [$provider->getAttribute('type'), $this->getSmsAdapter($provider)], METRIC_MESSAGES_TYPE_PROVIDER_SENT), $deliveredTotal) + ->addMetric(str_replace(['{type}', '{provider}'], [$provider->getAttribute('type'), $this->getSmsAdapter($provider)], METRIC_MESSAGES_TYPE_PROVIDER_FAILED), $deliveryErrors) ->trigger(); return [