1
0
Fork 0
mirror of synced 2024-06-30 04:00:34 +12:00

adding build.storage usage

This commit is contained in:
shimon 2022-12-21 11:22:29 +02:00
parent c6b3fb39b1
commit c02ef7b340
6 changed files with 44 additions and 16 deletions

View file

@ -1385,6 +1385,7 @@ App::get('/v1/functions/:functionId/usage')
'functions.' . $function->getId() . '.deployments',
'functions.' . $function->getId() . '.deployments.storage',
$function->getId() . '.builds',
$function->getId() . '.builds.storage',
$function->getId() . '.builds.compute',
$function->getId() . '.executions',
$function->getId() . '.executions.compute',
@ -1432,9 +1433,10 @@ App::get('/v1/functions/:functionId/usage')
'deployments' => $usage[$metrics[0]],
'deploymentsStorage' => $usage[$metrics[1]],
'builds' => $usage[$metrics[2]],
'buildsCompute' => $usage[$metrics[3]],
'executions' => $usage[$metrics[4]],
'executionsCompute' => $usage[$metrics[5]],
'buildsStorage' => $usage[$metrics[3]],
'buildsCompute' => $usage[$metrics[4]],
'executions' => $usage[$metrics[5]],
'executionsCompute' => $usage[$metrics[6]],
]), Response::MODEL_USAGE_FUNCTION);
});
@ -1461,6 +1463,7 @@ App::get('/v1/functions/usage')
'deployments',
'deployments.storage',
'builds',
'builds.storage',
'builds.compute',
'executions',
'executions.compute',
@ -1508,8 +1511,9 @@ App::get('/v1/functions/usage')
'deployments' => $usage[$metrics[1]],
'deploymentsStorage' => $usage[$metrics[2]],
'builds' => $usage[$metrics[3]],
'buildsCompute' => $usage[$metrics[4]],
'executions' => $usage[$metrics[5]],
'executionsCompute' => $usage[$metrics[6]],
'buildsStorage' => $usage[$metrics[4]],
'buildsCompute' => $usage[$metrics[5]],
'executions' => $usage[$metrics[6]],
'executionsCompute' => $usage[$metrics[7]],
]), Response::MODEL_USAGE_FUNCTIONS);
});

View file

@ -252,9 +252,11 @@ class BuildsV1 extends Worker
->getUsageQueue()
->setProject($project)
->addMetric("builds", 1) // per project
->addMetric("builds.compute", $build->getAttribute('duration')) // per project
->addMetric("builds.storage", $build->getAttribute('size', 0))
->addMetric("builds.compute", $build->getAttribute('duration', 0))
->addMetric("{$function->getId()}" . ".builds", 1) // per function
->addMetric("{$function->getId()}" . ".builds.compute", $build->getAttribute('duration')) // per function
->addMetric("{$function->getId()}" . ".builds.storage", $build->getAttribute('size', 0))
->addMetric("{$function->getId()}" . ".builds.compute", $build->getAttribute('duration', 0))
->trigger()
;
}

View file

@ -33,6 +33,15 @@ services:
- 8080:80
- 443:443
- 9500:8080
ulimits:
nofile:
soft: 655350
hard: 655350
sysctls:
- net.core.somaxconn=1024
- net.ipv4.tcp_rmem=1024 4096 16384
- net.ipv4.tcp_wmem=1024 4096 16384
- net.ipv4.ip_local_port_range=1025 65535
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- appwrite-config:/storage/config:ro
@ -53,7 +62,6 @@ services:
DEBUG: false
TESTING: true
VERSION: dev
VITE_CONSOLE_MODE: self-hosted
ports:
- 9501:80
networks:
@ -655,7 +663,7 @@ services:
image: openruntimes/executor:0.2.0
networks:
- appwrite
- runtimes
- openruntimes-runtimes
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- appwrite-builds:/storage/builds:rw
@ -811,8 +819,8 @@ networks:
name: gateway
appwrite:
name: appwrite
runtimes:
name: runtimes
openruntimes-runtimes:
name: openruntimes-runtimes
volumes:
appwrite-mariadb:
@ -825,3 +833,4 @@ volumes:
appwrite-config:

View file

@ -37,6 +37,13 @@ class UsageFunction extends Model
'example' => [],
'array' => true
])
->addRule('buildsStorage', [
'type' => Response::MODEL_METRIC,
'description' => 'Aggregated stats for builds storage.',
'default' => [],
'example' => [],
'array' => true
])
->addRule('buildsCompute', [
'type' => Response::MODEL_METRIC,
'description' => 'Aggregated stats for function build compute.',

View file

@ -44,6 +44,13 @@ class UsageFunctions extends Model
'example' => [],
'array' => true
])
->addRule('buildsStorage', [
'type' => Response::MODEL_METRIC,
'description' => 'Aggregated stats for builds storage.',
'default' => [],
'example' => [],
'array' => true
])
->addRule('buildsCompute', [
'type' => Response::MODEL_METRIC,
'description' => 'Aggregated stats for function build compute.',

View file

@ -2,7 +2,6 @@
namespace Tests\E2E\General;
use Appwrite\Tests\Retry;
use Tests\E2E\Client;
use Tests\E2E\Scopes\ProjectCustom;
use Tests\E2E\Scopes\Scope;
@ -693,7 +692,7 @@ class UsageTest extends Scope
);
$this->assertEquals(200, $response['headers']['status-code']);
$this->assertEquals(7, count($response['body']));
$this->assertEquals(8, count($response['body']));
$this->assertEquals('30d', $response['body']['range']);
$this->assertIsArray($response['body']['deployments']);
$this->assertIsArray($response['body']['deploymentsStorage']);
@ -717,7 +716,7 @@ class UsageTest extends Scope
);
$this->assertEquals(200, $response['headers']['status-code']);
$this->assertEquals(8, count($response['body']));
$this->assertEquals(9, count($response['body']));
$this->assertEquals($response['body']['range'], '30d');
$this->assertIsArray($response['body']['functions']);
$this->assertIsArray($response['body']['deployments']);
@ -737,7 +736,7 @@ class UsageTest extends Scope
$this->validateDates($response['buildsCompute']);
}
protected function tearDown(): void
public function tearDown(): void
{
$this->usersCount = 0;
$this->requestsCount = 0;