adding build.storage usage
This commit is contained in:
parent
c6b3fb39b1
commit
c02ef7b340
6 changed files with 44 additions and 16 deletions
|
@ -1385,6 +1385,7 @@ App::get('/v1/functions/:functionId/usage')
|
||||||
'functions.' . $function->getId() . '.deployments',
|
'functions.' . $function->getId() . '.deployments',
|
||||||
'functions.' . $function->getId() . '.deployments.storage',
|
'functions.' . $function->getId() . '.deployments.storage',
|
||||||
$function->getId() . '.builds',
|
$function->getId() . '.builds',
|
||||||
|
$function->getId() . '.builds.storage',
|
||||||
$function->getId() . '.builds.compute',
|
$function->getId() . '.builds.compute',
|
||||||
$function->getId() . '.executions',
|
$function->getId() . '.executions',
|
||||||
$function->getId() . '.executions.compute',
|
$function->getId() . '.executions.compute',
|
||||||
|
@ -1432,9 +1433,10 @@ App::get('/v1/functions/:functionId/usage')
|
||||||
'deployments' => $usage[$metrics[0]],
|
'deployments' => $usage[$metrics[0]],
|
||||||
'deploymentsStorage' => $usage[$metrics[1]],
|
'deploymentsStorage' => $usage[$metrics[1]],
|
||||||
'builds' => $usage[$metrics[2]],
|
'builds' => $usage[$metrics[2]],
|
||||||
'buildsCompute' => $usage[$metrics[3]],
|
'buildsStorage' => $usage[$metrics[3]],
|
||||||
'executions' => $usage[$metrics[4]],
|
'buildsCompute' => $usage[$metrics[4]],
|
||||||
'executionsCompute' => $usage[$metrics[5]],
|
'executions' => $usage[$metrics[5]],
|
||||||
|
'executionsCompute' => $usage[$metrics[6]],
|
||||||
]), Response::MODEL_USAGE_FUNCTION);
|
]), Response::MODEL_USAGE_FUNCTION);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1461,6 +1463,7 @@ App::get('/v1/functions/usage')
|
||||||
'deployments',
|
'deployments',
|
||||||
'deployments.storage',
|
'deployments.storage',
|
||||||
'builds',
|
'builds',
|
||||||
|
'builds.storage',
|
||||||
'builds.compute',
|
'builds.compute',
|
||||||
'executions',
|
'executions',
|
||||||
'executions.compute',
|
'executions.compute',
|
||||||
|
@ -1508,8 +1511,9 @@ App::get('/v1/functions/usage')
|
||||||
'deployments' => $usage[$metrics[1]],
|
'deployments' => $usage[$metrics[1]],
|
||||||
'deploymentsStorage' => $usage[$metrics[2]],
|
'deploymentsStorage' => $usage[$metrics[2]],
|
||||||
'builds' => $usage[$metrics[3]],
|
'builds' => $usage[$metrics[3]],
|
||||||
'buildsCompute' => $usage[$metrics[4]],
|
'buildsStorage' => $usage[$metrics[4]],
|
||||||
'executions' => $usage[$metrics[5]],
|
'buildsCompute' => $usage[$metrics[5]],
|
||||||
'executionsCompute' => $usage[$metrics[6]],
|
'executions' => $usage[$metrics[6]],
|
||||||
|
'executionsCompute' => $usage[$metrics[7]],
|
||||||
]), Response::MODEL_USAGE_FUNCTIONS);
|
]), Response::MODEL_USAGE_FUNCTIONS);
|
||||||
});
|
});
|
||||||
|
|
|
@ -252,9 +252,11 @@ class BuildsV1 extends Worker
|
||||||
->getUsageQueue()
|
->getUsageQueue()
|
||||||
->setProject($project)
|
->setProject($project)
|
||||||
->addMetric("builds", 1) // per 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", 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()
|
->trigger()
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,15 @@ services:
|
||||||
- 8080:80
|
- 8080:80
|
||||||
- 443:443
|
- 443:443
|
||||||
- 9500:8080
|
- 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:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- appwrite-config:/storage/config:ro
|
- appwrite-config:/storage/config:ro
|
||||||
|
@ -53,7 +62,6 @@ services:
|
||||||
DEBUG: false
|
DEBUG: false
|
||||||
TESTING: true
|
TESTING: true
|
||||||
VERSION: dev
|
VERSION: dev
|
||||||
VITE_CONSOLE_MODE: self-hosted
|
|
||||||
ports:
|
ports:
|
||||||
- 9501:80
|
- 9501:80
|
||||||
networks:
|
networks:
|
||||||
|
@ -655,7 +663,7 @@ services:
|
||||||
image: openruntimes/executor:0.2.0
|
image: openruntimes/executor:0.2.0
|
||||||
networks:
|
networks:
|
||||||
- appwrite
|
- appwrite
|
||||||
- runtimes
|
- openruntimes-runtimes
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- appwrite-builds:/storage/builds:rw
|
- appwrite-builds:/storage/builds:rw
|
||||||
|
@ -811,8 +819,8 @@ networks:
|
||||||
name: gateway
|
name: gateway
|
||||||
appwrite:
|
appwrite:
|
||||||
name: appwrite
|
name: appwrite
|
||||||
runtimes:
|
openruntimes-runtimes:
|
||||||
name: runtimes
|
name: openruntimes-runtimes
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
appwrite-mariadb:
|
appwrite-mariadb:
|
||||||
|
@ -825,3 +833,4 @@ volumes:
|
||||||
appwrite-config:
|
appwrite-config:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,13 @@ class UsageFunction extends Model
|
||||||
'example' => [],
|
'example' => [],
|
||||||
'array' => true
|
'array' => true
|
||||||
])
|
])
|
||||||
|
->addRule('buildsStorage', [
|
||||||
|
'type' => Response::MODEL_METRIC,
|
||||||
|
'description' => 'Aggregated stats for builds storage.',
|
||||||
|
'default' => [],
|
||||||
|
'example' => [],
|
||||||
|
'array' => true
|
||||||
|
])
|
||||||
->addRule('buildsCompute', [
|
->addRule('buildsCompute', [
|
||||||
'type' => Response::MODEL_METRIC,
|
'type' => Response::MODEL_METRIC,
|
||||||
'description' => 'Aggregated stats for function build compute.',
|
'description' => 'Aggregated stats for function build compute.',
|
||||||
|
|
|
@ -44,6 +44,13 @@ class UsageFunctions extends Model
|
||||||
'example' => [],
|
'example' => [],
|
||||||
'array' => true
|
'array' => true
|
||||||
])
|
])
|
||||||
|
->addRule('buildsStorage', [
|
||||||
|
'type' => Response::MODEL_METRIC,
|
||||||
|
'description' => 'Aggregated stats for builds storage.',
|
||||||
|
'default' => [],
|
||||||
|
'example' => [],
|
||||||
|
'array' => true
|
||||||
|
])
|
||||||
->addRule('buildsCompute', [
|
->addRule('buildsCompute', [
|
||||||
'type' => Response::MODEL_METRIC,
|
'type' => Response::MODEL_METRIC,
|
||||||
'description' => 'Aggregated stats for function build compute.',
|
'description' => 'Aggregated stats for function build compute.',
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
namespace Tests\E2E\General;
|
namespace Tests\E2E\General;
|
||||||
|
|
||||||
use Appwrite\Tests\Retry;
|
|
||||||
use Tests\E2E\Client;
|
use Tests\E2E\Client;
|
||||||
use Tests\E2E\Scopes\ProjectCustom;
|
use Tests\E2E\Scopes\ProjectCustom;
|
||||||
use Tests\E2E\Scopes\Scope;
|
use Tests\E2E\Scopes\Scope;
|
||||||
|
@ -693,7 +692,7 @@ class UsageTest extends Scope
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->assertEquals(200, $response['headers']['status-code']);
|
$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->assertEquals('30d', $response['body']['range']);
|
||||||
$this->assertIsArray($response['body']['deployments']);
|
$this->assertIsArray($response['body']['deployments']);
|
||||||
$this->assertIsArray($response['body']['deploymentsStorage']);
|
$this->assertIsArray($response['body']['deploymentsStorage']);
|
||||||
|
@ -717,7 +716,7 @@ class UsageTest extends Scope
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->assertEquals(200, $response['headers']['status-code']);
|
$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->assertEquals($response['body']['range'], '30d');
|
||||||
$this->assertIsArray($response['body']['functions']);
|
$this->assertIsArray($response['body']['functions']);
|
||||||
$this->assertIsArray($response['body']['deployments']);
|
$this->assertIsArray($response['body']['deployments']);
|
||||||
|
@ -737,7 +736,7 @@ class UsageTest extends Scope
|
||||||
$this->validateDates($response['buildsCompute']);
|
$this->validateDates($response['buildsCompute']);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown(): void
|
public function tearDown(): void
|
||||||
{
|
{
|
||||||
$this->usersCount = 0;
|
$this->usersCount = 0;
|
||||||
$this->requestsCount = 0;
|
$this->requestsCount = 0;
|
||||||
|
|
Loading…
Reference in a new issue