From 44437f5c8beb94b859fb1baa0db6e7f8966ac597 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Tue, 9 Nov 2021 11:52:01 +0545 Subject: [PATCH] fix storage usage --- app/controllers/api/storage.php | 26 +++++++++---- .../Utopia/Response/Model/UsageBuckets.php | 17 +++++--- .../Utopia/Response/Model/UsageStorage.php | 39 ++++++++++++++++++- 3 files changed, 68 insertions(+), 14 deletions(-) diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index d900e8281b..f1450ba77f 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -1380,13 +1380,18 @@ App::get('/v1/storage/usage') ]; $metrics = [ - "storage.total", + "storage.tags.total", + "storage.files.total", "storage.files.count", "storage.buckets.count", "storage.buckets.create", "storage.buckets.read", "storage.buckets.update", "storage.buckets.delete", + "storage.files.create", + "storage.files.read", + "storage.files.update", + "storage.files.delete", ]; $stats = []; @@ -1429,13 +1434,18 @@ App::get('/v1/storage/usage') $usage = new Document([ 'range' => $range, - 'storage' => $stats['storage.total'], + 'filesStorage' => $stats['storage.files.total'], + 'tagsStorage' => $stats['storage.tags.total'], 'filesCount' => $stats['storage.files.count'], 'bucketsCount' => $stats['storage.buckets.count'], 'bucketsCreate' => $stats['storage.buckets.create'], 'bucketsRead' => $stats['storage.buckets.read'], 'bucketsUpdate' => $stats['storage.buckets.update'], 'bucketsDelete' => $stats['storage.buckets.delete'], + 'filesCreate' => $stats['storage.files.create'], + 'filesRead' => $stats['storage.files.read'], + 'filesUpdate' => $stats['storage.files.update'], + 'filesDelete' => $stats['storage.files.delete'], ]); } @@ -1489,6 +1499,7 @@ App::get('/v1/storage/:bucketId/usage') $metrics = [ "storage.buckets.$bucketId.files.count", + "storage.buckets.$bucketId.files.total", "storage.buckets.$bucketId.files.create", "storage.buckets.$bucketId.files.read", "storage.buckets.$bucketId.files.update", @@ -1517,11 +1528,12 @@ App::get('/v1/storage/:bucketId/usage') $usage = new Document([ 'range' => $range, - 'files.count' => $stats["storage.buckets.$bucketId.files.count"], - 'files.create' => $stats["storage.buckets.$bucketId.files.create"], - 'files.read' => $stats["storage.buckets.$bucketId.files.read"], - 'files.update' => $stats["storage.buckets.$bucketId.files.update"], - 'files.delete' => $stats["storage.buckets.$bucketId.files.delete"] + 'filesStorage' => $stats["storage.buckets.$bucketId.files.total"], + 'filesCount' => $stats["storage.buckets.$bucketId.files.count"], + 'filesCreate' => $stats["storage.buckets.$bucketId.files.create"], + 'filesRead' => $stats["storage.buckets.$bucketId.files.read"], + 'filesUpdate' => $stats["storage.buckets.$bucketId.files.update"], + 'filesDelete' => $stats["storage.buckets.$bucketId.files.delete"] ]); } diff --git a/src/Appwrite/Utopia/Response/Model/UsageBuckets.php b/src/Appwrite/Utopia/Response/Model/UsageBuckets.php index cafa679ab4..61b3a40a0e 100644 --- a/src/Appwrite/Utopia/Response/Model/UsageBuckets.php +++ b/src/Appwrite/Utopia/Response/Model/UsageBuckets.php @@ -16,35 +16,42 @@ class UsageBuckets extends Model 'default' => '', 'example' => '30d', ]) - ->addRule('files.count', [ + ->addRule('filesCount', [ 'type' => Response::MODEL_METRIC_LIST, 'description' => 'Aggregated stats for total number of files in this bucket.', 'default' => [], 'example' => new \stdClass, 'array' => true ]) - ->addRule('files.create', [ + ->addRule('filesTotal', [ + 'type' => Response::MODEL_METRIC_LIST, + 'description' => 'Aggregated stats for total storage of files in this bucket.', + 'default' => [], + 'example' => new \stdClass, + 'array' => true + ]) + ->addRule('filesCreate', [ 'type' => Response::MODEL_METRIC_LIST, 'description' => 'Aggregated stats for files created.', 'default' => [], 'example' => new \stdClass, 'array' => true ]) - ->addRule('files.read', [ + ->addRule('filesRead', [ 'type' => Response::MODEL_METRIC_LIST, 'description' => 'Aggregated stats for files read.', 'default' => [], 'example' => new \stdClass, 'array' => true ]) - ->addRule('files.update', [ + ->addRule('filesUpdate', [ 'type' => Response::MODEL_METRIC_LIST, 'description' => 'Aggregated stats for files updated.', 'default' => [], 'example' => new \stdClass, 'array' => true ]) - ->addRule('files.delete', [ + ->addRule('filesDelete', [ 'type' => Response::MODEL_METRIC_LIST, 'description' => 'Aggregated stats for files deleted.', 'default' => [], diff --git a/src/Appwrite/Utopia/Response/Model/UsageStorage.php b/src/Appwrite/Utopia/Response/Model/UsageStorage.php index f9d65a3de1..84c9af03ad 100644 --- a/src/Appwrite/Utopia/Response/Model/UsageStorage.php +++ b/src/Appwrite/Utopia/Response/Model/UsageStorage.php @@ -16,9 +16,16 @@ class UsageStorage extends Model 'default' => '', 'example' => '30d', ]) - ->addRule('storage', [ + ->addRule('filesStorage', [ 'type' => Response::MODEL_METRIC_LIST, - 'description' => 'Aggregated stats for the occupied storage size (in bytes).', + 'description' => 'Aggregated stats for the occupied storage size by files (in bytes).', + 'default' => [], + 'example' => new \stdClass, + 'array' => true + ]) + ->addRule('tagsStorage', [ + 'type' => Response::MODEL_METRIC_LIST, + 'description' => 'Aggregated stats for the occupied storage size by tags (in bytes).', 'default' => [], 'example' => new \stdClass, 'array' => true @@ -65,6 +72,34 @@ class UsageStorage extends Model 'example' => new \stdClass, 'array' => true ]) + ->addRule('filesCreate', [ + 'type' => Response::MODEL_METRIC_LIST, + 'description' => 'Aggregated stats for files created.', + 'default' => [], + 'example' => new \stdClass, + 'array' => true + ]) + ->addRule('filesRead', [ + 'type' => Response::MODEL_METRIC_LIST, + 'description' => 'Aggregated stats for files read.', + 'default' => [], + 'example' => new \stdClass, + 'array' => true + ]) + ->addRule('filesUpdate', [ + 'type' => Response::MODEL_METRIC_LIST, + 'description' => 'Aggregated stats for files updated.', + 'default' => [], + 'example' => new \stdClass, + 'array' => true + ]) + ->addRule('filesDelete', [ + 'type' => Response::MODEL_METRIC_LIST, + 'description' => 'Aggregated stats for files deleted.', + 'default' => [], + 'example' => new \stdClass, + 'array' => true + ]) ; }