|
31 | 31 | use Utopia\Database\Validator\Authorization; |
32 | 32 | use Utopia\Queue\Publisher; |
33 | 33 | use Utopia\System\System; |
| 34 | +use Utopia\Telemetry\Adapter as Telemetry; |
34 | 35 | use Utopia\Validator\WhiteList; |
35 | 36 |
|
36 | 37 | $parseLabel = function (string $label, array $responsePayload, array $requestParams, Document $user) { |
|
421 | 422 | ->inject('apiKey') |
422 | 423 | ->inject('plan') |
423 | 424 | ->inject('devKey') |
424 | | - ->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) use ($usageDatabaseListener, $eventDatabaseListener) { |
| 425 | + ->inject('telemetry') |
| 426 | + ->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, Telemetry $telemetry) use ($usageDatabaseListener, $eventDatabaseListener) { |
425 | 427 |
|
426 | 428 | $route = $utopia->getRoute(); |
427 | 429 |
|
|
554 | 556 | )); |
555 | 557 |
|
556 | 558 | $useCache = $route->getLabel('cache', false); |
| 559 | + $storageCacheOperationsCounter = $telemetry->createCounter('storage.cache.operations.load'); |
557 | 560 | if ($useCache) { |
558 | 561 | $route = $utopia->match($request); |
559 | 562 | $isImageTransformation = $route->getPath() === '/v1/storage/buckets/:bucketId/files/:fileId/preview'; |
|
619 | 622 | ->addHeader('Cache-Control', sprintf('private, max-age=%d', $timestamp)) |
620 | 623 | ->addHeader('X-Appwrite-Cache', 'hit') |
621 | 624 | ->setContentType($cacheLog->getAttribute('mimeType')); |
| 625 | + $storageCacheOperationsCounter->add(1, ['result' => 'hit']); |
622 | 626 | if (!$isImageTransformation || !$isDisabled) { |
623 | 627 | $response->send($data); |
624 | 628 | } |
625 | 629 | } else { |
| 630 | + $storageCacheOperationsCounter->add(1, ['result' => 'miss']); |
626 | 631 | $response |
627 | 632 | ->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate') |
628 | 633 | ->addHeader('Pragma', 'no-cache') |
|
0 commit comments