diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index a37d921d40..f627d0ddfe 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -31,7 +31,7 @@ use Utopia\Database\Helpers\Role; use Utopia\Database\Validator\Authorization; use Utopia\Queue\Publisher; use Utopia\System\System; -use Utopia\Telemetry\Gauge; +use Utopia\Telemetry\Counter; use Utopia\Validator\WhiteList; $parseLabel = function (string $label, array $responsePayload, array $requestParams, Document $user) { @@ -422,9 +422,8 @@ App::init() ->inject('apiKey') ->inject('plan') ->inject('devKey') - ->inject('storageCacheHitsGauge') - ->inject('storageCacheMissesGauge') - ->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Publisher $publisher, Event $queueForEvents, Messaging $queueForMessaging, Audit $queueForAudits, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, StatsUsage $queueForStatsUsage, Database $dbForProject, callable $timelimit, Document $resourceToken, string $mode, ?Key $apiKey, array $plan, Document $devKey, Gauge $storageCacheHitsCounter, Gauge $storageCacheMissesCounter) use ($usageDatabaseListener, $eventDatabaseListener) { + ->inject('storageCacheOperationsCounter') + ->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Publisher $publisher, Event $queueForEvents, Messaging $queueForMessaging, Audit $queueForAudits, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, StatsUsage $queueForStatsUsage, Database $dbForProject, callable $timelimit, Document $resourceToken, string $mode, ?Key $apiKey, array $plan, Document $devKey, Counter $storageCacheOperationsCounter) use ($usageDatabaseListener, $eventDatabaseListener) { $route = $utopia->getRoute(); @@ -622,14 +621,17 @@ App::init() ->addHeader('Cache-Control', sprintf('private, max-age=%d', $timestamp)) ->addHeader('X-Appwrite-Cache', 'hit') ->setContentType($cacheLog->getAttribute('mimeType')); - $storageCacheHitsCounter->record(1, [ + $storageCacheOperationsCounter->add(1, [ + 'result' => 'hit', 'resourceType' => $type, ]); if (!$isImageTransformation || !$isDisabled) { $response->send($data); } } else { - $storageCacheMissesCounter->record(1); + $storageCacheOperationsCounter->add(1, [ + 'result' => 'miss', + ]); $response ->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate') ->addHeader('Pragma', 'no-cache') diff --git a/app/init/resources.php b/app/init/resources.php index 6ab44e255e..ec62a6c0bb 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -1010,10 +1010,6 @@ App::setResource('httpReferrerSafe', function (Request $request, string $httpRef return $referrer; }, ['request', 'httpReferrer', 'platforms', 'dbForPlatform', 'project', 'utopia']); -App::setResource('storageCacheHitsGauge', function (Telemetry $telemetry) { - return $telemetry->createGauge('storage.cache.hits.total'); -}, ['telemetry']); - -App::setResource('storageCacheMissesGauge', function (Telemetry $telemetry) { - return $telemetry->createGauge('storage.cache.misses.total'); +App::setResource('storageCacheOperationsCounter', function (Telemetry $telemetry) { + return $telemetry->createCounter('storage.cache.operations.total'); }, ['telemetry']);