1
0
Fork 0
mirror of synced 2024-06-01 10:29:48 +12:00

fix usage collection

This commit is contained in:
Damodar Lohani 2022-06-24 06:08:25 +00:00
parent cf7d10046c
commit f571979259

View file

@ -28,9 +28,7 @@ class UsageDB extends Usage
$period = $options['key'];
$time = (int) (floor(time() / $options['multiplier']) * $options['multiplier']);
$id = \md5("{$time}_{$period}_{$metric}");
$this->database->setNamespace('_console');
$project = $this->database->getDocument('projects', $projectId);
$this->database->setNamespace('_' . $project->getInternalId());
$this->database->setNamespace('_' . $projectId);
try {
$document = $this->database->getDocument('stats', $id);
@ -73,21 +71,15 @@ class UsageDB extends Usage
*/
private function foreachDocument(string $projectId, string $collection, array $queries, callable $callback): void
{
if ($projectId === 'console') {
return;
}
$limit = 50;
$results = [];
$sum = $limit;
$latestDocument = null;
$this->database->setNamespace('_console');
$project = $this->database->getDocument('projects', $projectId);
$this->database->setNamespace('_' . $project->getInternalId());
$this->database->setNamespace('_' . $projectId);
while ($sum === $limit) {
try {
$results = $this->database->find($collection, $queries, $limit, cursor: $latestDocument);
$results = $this->database->find($collection, $queries, $limit, cursor:$latestDocument);
} catch (\Exception $e) {
if (is_callable($this->errorHandler)) {
call_user_func($this->errorHandler, $e, "fetch_documents_project_{$projectId}_collection_{$collection}");
@ -124,9 +116,7 @@ class UsageDB extends Usage
*/
private function sum(string $projectId, string $collection, string $attribute, string $metric): int
{
$this->database->setNamespace('_console');
$project = $this->database->getDocument('projects', $projectId);
$this->database->setNamespace('_' . $project->getInternalId());
$this->database->setNamespace('_' . $projectId);
try {
$sum = (int) $this->database->sum($collection, $attribute);
@ -153,9 +143,7 @@ class UsageDB extends Usage
*/
private function count(string $projectId, string $collection, string $metric): int
{
$this->database->setNamespace('_console');
$project = $this->database->getDocument('projects', $projectId);
$this->database->setNamespace('_' . $project->getInternalId());
$this->database->setNamespace('_' . $projectId);
try {
$count = $this->database->count($collection);
@ -279,7 +267,7 @@ class UsageDB extends Usage
public function collect(): void
{
$this->foreachDocument('console', 'projects', [], function (Document $project) {
$projectId = $project->getId();
$projectId = $project->getInternalId();
$this->usersStats($projectId);
$this->databaseStats($projectId);