buckets related metrics
This commit is contained in:
parent
2b55e50c68
commit
2f9849f957
|
@ -55,10 +55,12 @@ App::post('/v1/storage/buckets')
|
|||
->inject('response')
|
||||
->inject('dbForInternal')
|
||||
->inject('audits')
|
||||
->action(function ($bucketId, $name, $read, $write, $maximumFileSize, $allowedFileExtensions, $enabled, $adapter, $encryption, $antiVirus, $response, $dbForInternal, $audits) {
|
||||
->inject('usage')
|
||||
->action(function ($bucketId, $name, $read, $write, $maximumFileSize, $allowedFileExtensions, $enabled, $adapter, $encryption, $antiVirus, $response, $dbForInternal, $audits, $usage) {
|
||||
/** @var Appwrite\Utopia\Response $response */
|
||||
/** @var Utopia\Database\Database $dbForInternal */
|
||||
/** @var Appwrite\Event\Event $audits */
|
||||
/** @var Appwrite\Stats\Stats $usage */
|
||||
|
||||
$bucketId = $bucketId == 'unique()' ? $dbForInternal->getId() : $bucketId;
|
||||
try {
|
||||
|
@ -260,6 +262,8 @@ App::post('/v1/storage/buckets')
|
|||
->setParam('data', $bucket->getArrayCopy())
|
||||
;
|
||||
|
||||
$usage->setParam('storage.buckets.create', 1);
|
||||
|
||||
$response->setStatusCode(Response::STATUS_CODE_CREATED);
|
||||
$response->dynamic($bucket, Response::MODEL_BUCKET);
|
||||
});
|
||||
|
@ -282,9 +286,11 @@ App::get('/v1/storage/buckets')
|
|||
->param('orderType', 'ASC', new WhiteList(['ASC', 'DESC'], true), 'Order result by ASC or DESC order.', true)
|
||||
->inject('response')
|
||||
->inject('dbForInternal')
|
||||
->action(function ($search, $limit, $offset, $after, $orderType, $response, $dbForInternal) {
|
||||
->inject('usage')
|
||||
->action(function ($search, $limit, $offset, $after, $orderType, $response, $dbForInternal, $usage) {
|
||||
/** @var Appwrite\Utopia\Response $response */
|
||||
/** @var Utopia\Database\Database $dbForInternal */
|
||||
/** @var Appwrite\Stats\Stats $usage */
|
||||
|
||||
$queries = ($search) ? [new Query('name', Query::TYPE_SEARCH, $search)] : [];
|
||||
|
||||
|
@ -296,6 +302,8 @@ App::get('/v1/storage/buckets')
|
|||
}
|
||||
}
|
||||
|
||||
$usage->setParam('storage.buckets.read', 1);
|
||||
|
||||
$response->dynamic(new Document([
|
||||
'buckets' => $dbForInternal->find('buckets', $queries, $limit, $offset, [], [$orderType], $afterBucket ?? null),
|
||||
'sum' => $dbForInternal->count('buckets', $queries, APP_LIMIT_COUNT),
|
||||
|
@ -316,9 +324,11 @@ App::get('/v1/storage/buckets/:bucketId')
|
|||
->param('bucketId', '', new UID(), 'Bucket unique ID.')
|
||||
->inject('response')
|
||||
->inject('dbForInternal')
|
||||
->action(function ($bucketId, $response, $dbForInternal) {
|
||||
->inject('usage')
|
||||
->action(function ($bucketId, $response, $dbForInternal, $usage) {
|
||||
/** @var Appwrite\Utopia\Response $response */
|
||||
/** @var Utopia\Database\Database $dbForInternal */
|
||||
/** @var Appwrite\Stats\Stats $usage */
|
||||
|
||||
$bucket = $dbForInternal->getDocument('buckets', $bucketId);
|
||||
|
||||
|
@ -326,6 +336,8 @@ App::get('/v1/storage/buckets/:bucketId')
|
|||
throw new Exception('Bucket not found', 404);
|
||||
}
|
||||
|
||||
$usage->setParam('storage.buckets.read', 1);
|
||||
|
||||
$response->dynamic($bucket, Response::MODEL_BUCKET);
|
||||
});
|
||||
|
||||
|
@ -353,10 +365,12 @@ App::put('/v1/storage/buckets/:bucketId')
|
|||
->inject('response')
|
||||
->inject('dbForInternal')
|
||||
->inject('audits')
|
||||
->action(function ($bucketId, $name, $read, $write, $maximumFileSize, $allowedFileExtensions, $enabled, $encryption, $antiVirus, $response, $dbForInternal, $audits) {
|
||||
->inject('usage')
|
||||
->action(function ($bucketId, $name, $read, $write, $maximumFileSize, $allowedFileExtensions, $enabled, $encryption, $antiVirus, $response, $dbForInternal, $audits, $usage) {
|
||||
/** @var Appwrite\Utopia\Response $response */
|
||||
/** @var Utopia\Database\Database $dbForInternal */
|
||||
/** @var Appwrite\Event\Event $audits */
|
||||
/** @var Appwrite\Stats\Stats $usage */
|
||||
|
||||
$bucket = $dbForInternal->getDocument('buckets', $bucketId);
|
||||
|
||||
|
@ -391,6 +405,8 @@ App::put('/v1/storage/buckets/:bucketId')
|
|||
->setParam('data', $bucket->getArrayCopy())
|
||||
;
|
||||
|
||||
$usage->setParam('storage.buckets.update', 1);
|
||||
|
||||
$response->dynamic($bucket, Response::MODEL_BUCKET);
|
||||
});
|
||||
|
||||
|
@ -411,12 +427,14 @@ App::delete('/v1/storage/buckets/:bucketId')
|
|||
->inject('audits')
|
||||
->inject('deletes')
|
||||
->inject('events')
|
||||
->action(function ($bucketId, $response, $dbForInternal, $audits, $deletes, $events) {
|
||||
->inject('usage')
|
||||
->action(function ($bucketId, $response, $dbForInternal, $audits, $deletes, $events, $usage) {
|
||||
/** @var Appwrite\Utopia\Response $response */
|
||||
/** @var Utopia\Database\Database $dbForInternal */
|
||||
/** @var Appwrite\Event\Event $audits */
|
||||
/** @var Appwrite\Event\Event $deletes */
|
||||
/** @var Appwrite\Event\Event $events */
|
||||
/** @var Appwrite\Stats\Stats $usage */
|
||||
|
||||
$bucket = $dbForInternal->getDocument('buckets', $bucketId);
|
||||
|
||||
|
@ -443,6 +461,8 @@ App::delete('/v1/storage/buckets/:bucketId')
|
|||
->setParam('data', $bucket->getArrayCopy())
|
||||
;
|
||||
|
||||
$usage->setParam('storage.buckets.delete', 1);
|
||||
|
||||
$response->noContent();
|
||||
});
|
||||
|
||||
|
@ -599,7 +619,7 @@ App::post('/v1/storage/buckets/:bucketId/files')
|
|||
$usage
|
||||
->setParam('storage', $sizeActual)
|
||||
->setParam('storage.files.create', 1)
|
||||
->setParam('bucketId', 'default')
|
||||
->setParam('bucketId', $bucketId)
|
||||
;
|
||||
|
||||
$response->setStatusCode(Response::STATUS_CODE_CREATED);
|
||||
|
@ -655,7 +675,7 @@ App::get('/v1/storage/buckets/:bucketId/files')
|
|||
|
||||
$usage
|
||||
->setParam('storage.files.read', 1)
|
||||
->setParam('bucketId', 'default')
|
||||
->setParam('bucketId', $bucketId)
|
||||
;
|
||||
|
||||
$response->dynamic(new Document([
|
||||
|
@ -699,7 +719,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId')
|
|||
}
|
||||
$usage
|
||||
->setParam('storage.files.read', 1)
|
||||
->setParam('bucketId', 'default')
|
||||
->setParam('bucketId', $bucketId)
|
||||
;
|
||||
$response->dynamic($file, Response::MODEL_FILE);
|
||||
});
|
||||
|
@ -858,7 +878,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/preview')
|
|||
|
||||
$usage
|
||||
->setParam('storage.files.read', 1)
|
||||
->setParam('bucketId', 'default')
|
||||
->setParam('bucketId', $bucketId)
|
||||
;
|
||||
|
||||
$response
|
||||
|
@ -931,7 +951,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/download')
|
|||
|
||||
$usage
|
||||
->setParam('storage.files.read', 1)
|
||||
->setParam('bucketId', 'default')
|
||||
->setParam('bucketId', $bucketId)
|
||||
;
|
||||
|
||||
// Response
|
||||
|
@ -1012,7 +1032,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/view')
|
|||
|
||||
$usage
|
||||
->setParam('storage.files.read', 1)
|
||||
->setParam('bucketId', 'default')
|
||||
->setParam('bucketId', $bucketId)
|
||||
;
|
||||
|
||||
// Response
|
||||
|
@ -1078,7 +1098,7 @@ App::put('/v1/storage/buckets/:bucketId/files/:fileId')
|
|||
|
||||
$usage
|
||||
->setParam('storage.files.update', 1)
|
||||
->setParam('bucketId', 'default')
|
||||
->setParam('bucketId', $bucketId)
|
||||
;
|
||||
|
||||
$response->dynamic($file, Response::MODEL_FILE);
|
||||
|
@ -1138,7 +1158,7 @@ App::delete('/v1/storage/buckets/:bucketId/files/:fileId')
|
|||
$usage
|
||||
->setParam('storage', $file->getAttribute('size', 0) * -1)
|
||||
->setParam('storage.files.delete', 1)
|
||||
->setParam('bucketId', 'default')
|
||||
->setParam('bucketId', $bucketId)
|
||||
;
|
||||
|
||||
$events
|
||||
|
|
|
@ -38,7 +38,11 @@ use Utopia\Database\Validator\Authorization;
|
|||
* database.collections.{collectionId}.documents.delete
|
||||
*
|
||||
* Storage
|
||||
*
|
||||
*
|
||||
* storage.buckets.create
|
||||
* storage.buckets.read
|
||||
* storage.buckets.update
|
||||
* storage.buckets.delete
|
||||
* storage.buckets.{bucketId}.files.create
|
||||
* storage.buckets.{bucketId}.files.read
|
||||
* storage.buckets.{bucketId}.files.update
|
||||
|
@ -63,6 +67,7 @@ use Utopia\Database\Validator\Authorization;
|
|||
* Counters
|
||||
*
|
||||
* users.count
|
||||
* storage.buckets.count
|
||||
* storage.files.count
|
||||
* database.collections.count
|
||||
* database.documents.count
|
||||
|
@ -144,6 +149,18 @@ $cli
|
|||
'table' => 'appwrite_usage_database_documents_delete',
|
||||
'groupBy' => 'collectionId',
|
||||
],
|
||||
'storage.buckets.create' => [
|
||||
'table' => 'appwrite_usage_storage_buckets_create',
|
||||
],
|
||||
'storage.buckets.read' => [
|
||||
'table' => 'appwrite_usage_storage_buckets_read',
|
||||
],
|
||||
'storage.buckets.update' => [
|
||||
'table' => 'appwrite_usage_storage_buckets_update',
|
||||
],
|
||||
'storage.buckets.delete' => [
|
||||
'table' => 'appwrite_usage_storage_buckets_delete',
|
||||
],
|
||||
'storage.buckets.bucketId.files.create' => [
|
||||
'table' => 'appwrite_usage_storage_files_create',
|
||||
'groupBy' => 'bucketId',
|
||||
|
@ -380,10 +397,15 @@ $cli
|
|||
],
|
||||
],
|
||||
],
|
||||
'files' => [
|
||||
'buckets' => [
|
||||
'metricPrefix' => 'storage',
|
||||
'namespace' => 'internal',
|
||||
],
|
||||
'subCollections' => [
|
||||
'files' => [
|
||||
'namespace' => 'internal',
|
||||
],
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
foreach ($collections as $collection => $options) {
|
||||
|
|
|
@ -132,6 +132,10 @@ class Stats
|
|||
}
|
||||
|
||||
$storageMertics = [
|
||||
'storage.buckets.create',
|
||||
'storage.buckets.read',
|
||||
'storage.buckets.update',
|
||||
'storage.buckets.delete',
|
||||
'storage.files.create',
|
||||
'storage.files.read',
|
||||
'storage.files.update',
|
||||
|
|
Loading…
Reference in a new issue