diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 6c90441afb..46b8815542 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -12,7 +12,7 @@ use Appwrite\Network\Validator\Email; use Appwrite\Network\Validator\Host; use Appwrite\Network\Validator\URL; use Appwrite\OpenSSL\OpenSSL; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Appwrite\Template\Template; use Appwrite\URL\URL as URLParser; use Appwrite\Utopia\Request; diff --git a/app/controllers/api/databases.php b/app/controllers/api/databases.php index a14e57d6be..613e4e3248 100644 --- a/app/controllers/api/databases.php +++ b/app/controllers/api/databases.php @@ -39,7 +39,7 @@ use Appwrite\Detector\Detector; use Appwrite\Event\Audit as EventAudit; use Appwrite\Event\Database as EventDatabase; use Appwrite\Event\Event; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Utopia\Config\Config; use MaxMind\Db\Reader; @@ -124,7 +124,7 @@ function createAttribute(string $databaseId, string $collectionId, Document $att $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.update', 1); + ->setParam('collections.requests.update', 1); $database ->setType(DATABASE_TYPE_CREATE_ATTRIBUTE) @@ -224,7 +224,7 @@ App::post('/v1/databases') ; $events->setParam('databaseId', $database->getId()); - $usage->setParam('databases.create', 1); + $usage->setParam('databases.requests.create', 1); $response->setStatusCode(Response::STATUS_CODE_CREATED); $response->dynamic($database, Response::MODEL_DATABASE); @@ -266,7 +266,7 @@ App::get('/v1/databases') $queries[] = new Query('search', Query::TYPE_SEARCH, [$search]); } - $usage->setParam('databases.read', 1); + $usage->setParam('databases.requests.read', 1); $response->dynamic(new Document([ 'databases' => $dbForProject->find('databases', $queries, $limit, $offset, [], [$orderType], $cursorDocument ?? null, $cursorDirection), @@ -297,7 +297,7 @@ App::get('/v1/databases/:databaseId') throw new Exception('Database not found', 404, Exception::DATABASE_NOT_FOUND); } - $usage->setParam('databases.read', 1); + $usage->setParam('databases.requests.read', 1); $response->dynamic($database, Response::MODEL_DATABASE); }); @@ -423,7 +423,7 @@ App::put('/v1/databases/:databaseId') ->setPayload($database->getArrayCopy()) ; - $usage->setParam('databases.update', 1); + $usage->setParam('databases.requests.update', 1); $events->setParam('databaseId', $database->getId()); $response->dynamic($database, Response::MODEL_DATABASE); @@ -476,7 +476,7 @@ App::delete('/v1/databases/:databaseId') ->setPayload($database->getArrayCopy()) ; - $usage->setParam('databases.delete', 1); + $usage->setParam('databases.requests.delete', 1); $response->noContent(); }); @@ -548,7 +548,7 @@ App::post('/v1/databases/:databaseId/collections') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.create', 1); + ->setParam('collections.requests.create', 1); $response->setStatusCode(Response::STATUS_CODE_CREATED); $response->dynamic($collection, Response::MODEL_COLLECTION); @@ -600,7 +600,7 @@ App::get('/v1/databases/:databaseId/collections') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.read', 1); + ->setParam('collections.requests.read', 1); $response->dynamic(new Document([ 'collections' => $dbForProject->find('database_' . $database->getInternalId(), $queries, $limit, $offset, [], [$orderType], $cursorCollection ?? null, $cursorDirection), @@ -640,7 +640,7 @@ App::get('/v1/databases/:databaseId/collections/:collectionId') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.read', 1); + ->setParam('collections.requests.read', 1); $response->dynamic($collection, Response::MODEL_COLLECTION); }); @@ -798,7 +798,7 @@ App::put('/v1/databases/:databaseId/collections/:collectionId') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.update', 1); + ->setParam('collections.requests.update', 1); $events ->setContext('database', $database) @@ -867,7 +867,7 @@ App::delete('/v1/databases/:databaseId/collections/:collectionId') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.delete', 1); + ->setParam('collections.collections.delete', 1); $response->noContent(); }); @@ -1308,7 +1308,7 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/attributes') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.read', 1); + ->setParam('collections.requests.read', 1); $response->dynamic(new Document([ 'total' => \count($attributes), @@ -1382,7 +1382,7 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/attributes/:key') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.read', 1); + ->setParam('collections.requests.read', 1); $response->dynamic($attribute, $model); }); @@ -1444,7 +1444,7 @@ App::delete('/v1/databases/:databaseId/collections/:collectionId/attributes/:key $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.update', 1); + ->setParam('collections.requests.update', 1); // Select response model based on type and format $type = $attribute->getAttribute('type'); @@ -1618,7 +1618,7 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/indexes') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.update', 1); + ->setParam('collections.requests.update', 1); $events ->setParam('databaseId', $databaseId) @@ -1671,7 +1671,7 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/indexes') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.read', 1); + ->setParam('collections.requests.read', 1); $response->dynamic(new Document([ 'total' => \count($indexes), @@ -1725,7 +1725,7 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/indexes/:key') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.read', 1); + ->setParam('collections.requests.read', 1); $response->dynamic($index, Response::MODEL_INDEX); }); @@ -1786,7 +1786,7 @@ App::delete('/v1/databases/:databaseId/collections/:collectionId/indexes/:key') $usage ->setParam('databaseId', $databaseId) - ->setParam('databases.collections.update', 1); + ->setParam('collections.requests.update', 1); $events ->setParam('databaseId', $databaseId) @@ -1914,7 +1914,7 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents') ; $usage - ->setParam('databases.documents.create', 1) + ->setParam('documents.requests.create', 1) ->setParam('databaseId', $databaseId) ->setParam('collectionId', $collectionId) ; @@ -2031,7 +2031,7 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/documents') $documents = array_map(fn(Document $document) => $document->setAttribute('$collection', $collectionId), $documents); $usage - ->setParam('databases.documents.read', 1) + ->setParam('documents.requests.read', 1) ->setParam('databaseId', $databaseId) ->setParam('collectionId', $collectionId) ; @@ -2104,7 +2104,7 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/documents/:documen } $usage - ->setParam('databases.documents.read', 1) + ->setParam('documents.requests.read', 1) ->setParam('databaseId', $databaseId) ->setParam('collectionId', $collectionId) ; @@ -2332,7 +2332,7 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum ; $usage - ->setParam('databases.documents.update', 1) + ->setParam('documents.requests.update', 1) ->setParam('databaseId', $databaseId) ->setParam('collectionId', $collectionId) ; @@ -2423,7 +2423,7 @@ App::delete('/v1/databases/:databaseId/collections/:collectionId/documents/:docu ; $usage - ->setParam('databases.documents.delete', 1) + ->setParam('documents.requests.delete', 1) ->setParam('databaseId', $databaseId) ->setParam('collectionId', $collectionId) ; @@ -2482,21 +2482,21 @@ App::get('/v1/databases/usage') ]; $metrics = [ - 'databases.count', - 'databases.documents.count', - 'databases.collections.count', - 'databases.create', - 'databases.read', - 'databases.update', - 'databases.delete', - 'databases.collections.create', - 'databases.collections.read', - 'databases.collections.update', - 'databases.collections.delete', - 'databases.documents.create', - 'databases.documents.read', - 'databases.documents.update', - 'databases.documents.delete' + 'databases.$all.count.total', + 'documents.$all.count.total', + 'collections.$all.count.total', + 'databases.$all.requests.create', + 'databases.$all.requests.read', + 'databases.$all.requests.update', + 'databases.$all.requests.delete', + 'collections.$all.requests.create', + 'collections.$all.requests.read', + 'collections.$all.requests.update', + 'collections.$all.requests.delete', + 'documents.$all.requests.create', + 'documents.$all.requests.read', + 'documents.$all.requests.update', + 'documents.$all.requests.delete' ]; $stats = []; @@ -2540,21 +2540,21 @@ App::get('/v1/databases/usage') $usage = new Document([ 'range' => $range, - 'databasesCount' => $stats["databases.count"], - 'documentsCount' => $stats["databases.documents.count"], - 'collectionsCount' => $stats["databases.collections.count"], - 'documentsCreate' => $stats["databases.documents.create"], - 'documentsRead' => $stats["databases.documents.read"], - 'documentsUpdate' => $stats["databases.documents.update"], - 'documentsDelete' => $stats["databases.documents.delete"], - 'collectionsCreate' => $stats["databases.collections.create"], - 'collectionsRead' => $stats["databases.collections.read"], - 'collectionsUpdate' => $stats["databases.collections.update"], - 'collectionsDelete' => $stats["databases.collections.delete"], - 'databasesCreate' => $stats["databases.create"], - 'databasesRead' => $stats["databases.read"], - 'databasesUpdate' => $stats["databases.update"], - 'databasesDelete' => $stats["databases.delete"], + 'databasesCount' => $stats['databases.$all.count.total'], + 'documentsCount' => $stats['documents.$all.count.total'], + 'collectionsCount' => $stats['collections.$all.count.total'], + 'documentsCreate' => $stats['documents.$all.requests.create'], + 'documentsRead' => $stats['documents.$all.requests.read'], + 'documentsUpdate' => $stats['documents.$all.requests.update'], + 'documentsDelete' => $stats['documents.$all.requests.delete'], + 'collectionsCreate' => $stats['collections.$all.requests.create'], + 'collectionsRead' => $stats['collections.$all.requests.read'], + 'collectionsUpdate' => $stats['collections.$all.requests.update'], + 'collectionsDelete' => $stats['collections.$all.requests.delete'], + 'databasesCreate' => $stats['databases.$all.requests.create'], + 'databasesRead' => $stats['databases.$all.requests.read'], + 'databasesUpdate' => $stats['databases.$all.requests.update'], + 'databasesDelete' => $stats['databases.$all.requests.delete'], ]); } @@ -2599,16 +2599,16 @@ App::get('/v1/databases/:databaseId/usage') ]; $metrics = [ - 'databases.' . $databaseId . '.documents.count', - 'databases.' . $databaseId . '.collections.count', - 'databases.' . $databaseId . '.collections.create', - 'databases.' . $databaseId . '.collections.read', - 'databases.' . $databaseId . '.collections.update', - 'databases.' . $databaseId . '.collections.delete', - 'databases.' . $databaseId . '.documents.create', - 'databases.' . $databaseId . '.documents.read', - 'databases.' . $databaseId . '.documents.update', - 'databases.' . $databaseId . '.documents.delete' + 'documents.' . $databaseId . '.count.total', + 'collections.' . $databaseId . '.count.total', + 'collections.' . $databaseId . '.requests.create', + 'collections.' . $databaseId . '.requests.read', + 'collections.' . $databaseId . '.requests.update', + 'collections.' . $databaseId . '.requests.delete', + 'documents.' . $databaseId . '.requests.create', + 'documents.' . $databaseId . '.requests.read', + 'documents.' . $databaseId . '.requests.update', + 'documents.' . $databaseId . '.requests.delete' ]; $stats = []; @@ -2652,16 +2652,16 @@ App::get('/v1/databases/:databaseId/usage') $usage = new Document([ 'range' => $range, - 'documentsCount' => $stats["databases.{$databaseId}.documents.count"], - 'collectionsCount' => $stats["databases.{$databaseId}.collections.count"], - 'documentsCreate' => $stats["databases.{$databaseId}.documents.create"], - 'documentsRead' => $stats["databases.{$databaseId}.documents.read"], - 'documentsUpdate' => $stats["databases.{$databaseId}.documents.update"], - 'documentsDelete' => $stats["databases.{$databaseId}.documents.delete"], - 'collectionsCreate' => $stats["databases.{$databaseId}.collections.create"], - 'collectionsRead' => $stats["databases.{$databaseId}.collections.read"], - 'collectionsUpdate' => $stats["databases.{$databaseId}.collections.update"], - 'collectionsDelete' => $stats["databases.{$databaseId}.collections.delete"], + 'documentsCount' => $stats["documents.{$databaseId}.count.total"], + 'collectionsCount' => $stats["collections.{$databaseId}.count.total"], + 'documentsCreate' => $stats["documents.{$databaseId}.requests.create"], + 'documentsRead' => $stats["documents.{$databaseId}.requests.read"], + 'documentsUpdate' => $stats["documents.{$databaseId}.requests.update"], + 'documentsDelete' => $stats["documents.{$databaseId}.requests.delete"], + 'collectionsCreate' => $stats["collections.{$databaseId}.requests.create"], + 'collectionsRead' => $stats["collections.{$databaseId}.requests.read"], + 'collectionsUpdate' => $stats["collections.{$databaseId}.requests.update"], + 'collectionsDelete' => $stats["collections.{$databaseId}.requests.delete"], ]); } @@ -2717,11 +2717,11 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/usage') ]; $metrics = [ - "databases.{$databaseId}.collections.{$collectionId}.documents.count", - "databases.{$databaseId}.collections.{$collectionId}.documents.create", - "databases.{$databaseId}.collections.{$collectionId}.documents.read", - "databases.{$databaseId}.collections.{$collectionId}.documents.update", - "databases.{$databaseId}.collections.{$collectionId}.documents.delete", + "documents.{$databaseId}/{$collectionId}.count.total", + "documents.{$databaseId}/{$collectionId}.requests.create", + "documents.{$databaseId}/{$collectionId}.requests.read", + "documents.{$databaseId}/{$collectionId}.requests.update", + "documents.{$databaseId}/{$collectionId}.requests.delete", ]; $stats = []; @@ -2764,11 +2764,11 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/usage') $usage = new Document([ 'range' => $range, - 'documentsCount' => $stats["databases.{$databaseId}.collections.{$collectionId}.documents.count"], - 'documentsCreate' => $stats["databases.{$databaseId}.collections.{$collectionId}.documents.create"], - 'documentsRead' => $stats["databases.{$databaseId}.collections.{$collectionId}.documents.read"], - 'documentsUpdate' => $stats["databases.{$databaseId}.collections.{$collectionId}.documents.update"], - 'documentsDelete' => $stats["databases.{$databaseId}.collections.{$collectionId}.documents.delete"] + 'documentsCount' => $stats["documents.{$databaseId}/{$collectionId}.count.total"], + 'documentsCreate' => $stats["documents.{$databaseId}/{$collectionId}.requests.create"], + 'documentsRead' => $stats["documents.{$databaseId}/{$collectionId}.requests.read"], + 'documentsUpdate' => $stats["documents.{$databaseId}/{$collectionId}.requests.update"], + 'documentsDelete' => $stats["documents.{$databaseId}/{$collectionId}.requests.delete"] ]); } diff --git a/app/controllers/api/functions.php b/app/controllers/api/functions.php index 2720e57e09..547fd3ff3c 100644 --- a/app/controllers/api/functions.php +++ b/app/controllers/api/functions.php @@ -10,7 +10,7 @@ use Appwrite\Event\Validator\Event as ValidatorEvent; use Appwrite\Extend\Exception; use Appwrite\Utopia\Database\Validator\CustomId; use Utopia\Database\Validator\UID; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Utopia\Storage\Device; use Utopia\Storage\Validator\File; use Utopia\Storage\Validator\FileExt; diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index b62aa750db..e5dff27e18 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -7,7 +7,7 @@ use Appwrite\Event\Delete; use Appwrite\Event\Event; use Appwrite\Utopia\Database\Validator\CustomId; use Appwrite\OpenSSL\OpenSSL; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Appwrite\Utopia\Response; use Utopia\App; use Utopia\Cache\Adapter\Filesystem; diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index 8845db4810..34a6a612d4 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -8,7 +8,7 @@ use Appwrite\Event\Delete; use Appwrite\Event\Event; use Appwrite\Event\Audit as EventAudit; use Appwrite\Network\Validator\Email; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Appwrite\Utopia\Database\Validator\CustomId; use Appwrite\Utopia\Response; use Utopia\App; diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index 2d27209562..13d363bda7 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -7,7 +7,7 @@ use Appwrite\Event\Delete; use Appwrite\Event\Event; use Appwrite\Event\Mail; use Appwrite\Messaging\Adapter\Realtime; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Appwrite\Utopia\Response; use Appwrite\Utopia\Request; use Utopia\App; @@ -274,7 +274,7 @@ App::shutdown() if ( App::getEnv('_APP_USAGE_STATS', 'enabled') == 'enabled' && $project->getId() - && $mode !== APP_MODE_ADMIN // TODO: add check to make sure user is admin + // && $mode !== APP_MODE_ADMIN // TODO: add check to make sure user is admin && !empty($route->getLabel('sdk.namespace', null)) ) { // Don't calculate console usage on admin mode $usage diff --git a/app/init.php b/app/init.php index 146a4fc2a7..931e352b24 100644 --- a/app/init.php +++ b/app/init.php @@ -40,7 +40,7 @@ use Appwrite\Network\Validator\Email; use Appwrite\Network\Validator\IP; use Appwrite\Network\Validator\URL; use Appwrite\OpenSSL\OpenSSL; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Appwrite\Utopia\View; use Utopia\App; use Utopia\Logger\Logger; diff --git a/app/workers/builds.php b/app/workers/builds.php index 252f877c51..722510b6cf 100644 --- a/app/workers/builds.php +++ b/app/workers/builds.php @@ -6,7 +6,7 @@ use Appwrite\Resque\Worker; use Appwrite\Utopia\Response\Model\Deployment; use Cron\CronExpression; use Executor\Executor; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Utopia\App; use Utopia\CLI\Console; use Utopia\Storage\Storage; diff --git a/app/workers/functions.php b/app/workers/functions.php index 55d71ef368..125d1a1022 100644 --- a/app/workers/functions.php +++ b/app/workers/functions.php @@ -4,7 +4,7 @@ use Appwrite\Event\Event; use Appwrite\Event\Func; use Appwrite\Messaging\Adapter\Realtime; use Appwrite\Resque\Worker; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use Appwrite\Utopia\Response\Model\Execution; use Cron\CronExpression; use Executor\Executor; diff --git a/tests/unit/Stats/StatsTest.php b/tests/unit/Stats/StatsTest.php index 784ac77fb4..9183e17f79 100644 --- a/tests/unit/Stats/StatsTest.php +++ b/tests/unit/Stats/StatsTest.php @@ -2,7 +2,7 @@ namespace Appwrite\Tests; -use Appwrite\Stats\Stats; +use Appwrite\Usage\Stats; use PHPUnit\Framework\TestCase; use Utopia\App;