1
0
Fork 0
mirror of synced 2024-07-03 13:41:01 +12:00

renaming usage stats on influx to contain scope placeholder

This commit is contained in:
Damodar Lohani 2022-08-10 01:46:36 +00:00
parent 59477a9fa9
commit b96904ec75
2 changed files with 140 additions and 107 deletions

View file

@ -18,220 +18,253 @@ class TimeSeries extends Calculator {
// all the mertics that we are collecting // all the mertics that we are collecting
protected array $metrics = [ protected array $metrics = [
'project.$all.network.requests' => [ 'project.$all.network.requests' => [
'table' => 'appwrite_usage_network_requests', 'table' => 'appwrite_usage_network_{scope}_requests',
], ],
'project.$all.network.bandwidth' => [ 'project.$all.network.bandwidth' => [
'table' => 'appwrite_usage_network_bandwidth', 'table' => 'appwrite_usage_network_{scope}_bandwidth',
], ],
'project.$all.network.inbound' => [ 'project.$all.network.inbound' => [
'table' => 'appwrite_usage_network_inbound', 'table' => 'appwrite_usage_network_{scope}_inbound',
], ],
'project.$all.network.outbound' => [ 'project.$all.network.outbound' => [
'table' => 'appwrite_usage_network_outbound', 'table' => 'appwrite_usage_network_{scope}_outbound',
], ],
/* Users service metrics */ /* Users service metrics */
'users.$all.requests.create' => [ 'users.$all.requests.create' => [
'table' => 'appwrite_usage_users_requests_create', 'table' => 'appwrite_usage_users_{scope}_requests_create',
], ],
'users.$all.requests.read' => [ 'users.$all.requests.read' => [
'table' => 'appwrite_usage_users_requests_read', 'table' => 'appwrite_usage_users_{scope}_requests_read',
], ],
'users.$all.requests.update' => [ 'users.$all.requests.update' => [
'table' => 'appwrite_usage_users_requests_update', 'table' => 'appwrite_usage_users_{scope}_requests_update',
], ],
'users.$all.requests.delete' => [ 'users.$all.requests.delete' => [
'table' => 'appwrite_usage_users_requests_delete', 'table' => 'appwrite_usage_users_{scope}_requests_delete',
], ],
'databases.$all.requests.create' => [ 'databases.$all.requests.create' => [
'table' => 'appwrite_usage_databases_requests_create', 'table' => 'appwrite_usage_databases_{scope}_requests_create',
], ],
'databases.$all.requests.read' => [ 'databases.$all.requests.read' => [
'table' => 'appwrite_usage_databases_requests_read', 'table' => 'appwrite_usage_databases_{scope}_requests_read',
], ],
'databases.$all.requests.update' => [ 'databases.$all.requests.update' => [
'table' => 'appwrite_usage_databases_requests_update', 'table' => 'appwrite_usage_databases_{scope}_requests_update',
], ],
'databases.$all.requests.delete' => [ 'databases.$all.requests.delete' => [
'table' => 'appwrite_usage_databases_requests_delete', 'table' => 'appwrite_usage_databases_{scope}_requests_delete',
], ],
'collections.$all.requests.create' => [ 'collections.$all.requests.create' => [
'table' => 'appwrite_usage_dollections_requests_create', 'table' => 'appwrite_usage_dollections_{scope}_requests_create',
], ],
'collections.$all.requests.read' => [ 'collections.$all.requests.read' => [
'table' => 'appwrite_usage_collections_requests_read', 'table' => 'appwrite_usage_collections_{scope}_requests_read',
], ],
'collections.$all.requests.update' => [ 'collections.$all.requests.update' => [
'table' => 'appwrite_usage_collections_requests_update', 'table' => 'appwrite_usage_collections_{scope}_requests_update',
], ],
'collections.$all.requests.delete' => [ 'collections.$all.requests.delete' => [
'table' => 'appwrite_usage_collections_requests_delete', 'table' => 'appwrite_usage_collections_{scope}_requests_delete',
], ],
'documents.$all.requests.create' => [ 'documents.$all.requests.create' => [
'table' => 'appwrite_usage_documents_requests_create', 'table' => 'appwrite_usage_documents_{scope}_requests_create',
], ],
'documents.$all.requests.read' => [ 'documents.$all.requests.read' => [
'table' => 'appwrite_usage_documents_requests_read', 'table' => 'appwrite_usage_documents_{scope}_requests_read',
], ],
'documents.$all.requests.update' => [ 'documents.$all.requests.update' => [
'table' => 'appwrite_usage_documents_requests_update', 'table' => 'appwrite_usage_documents_{scope}_requests_update',
], ],
'documents.$all.requests.delete' => [ 'documents.$all.requests.delete' => [
'table' => 'appwrite_usage_documents_requests_delete', 'table' => 'appwrite_usage_documents_{scope}_requests_delete',
], ],
'collections.databaseId.requests.create' => [ 'collections.databaseId.requests.create' => [
'table' => 'appwrite_usage_collections_requests_create', 'table' => 'appwrite_usage_collections_{scope}_requests_create',
'groupBy' => ['databaseId'], 'groupBy' => ['databaseId'],
], ],
'collections.databaseId.requests.read' => [ 'collections.databaseId.requests.read' => [
'table' => 'appwrite_usage_collections_requests_read', 'table' => 'appwrite_usage_collections_{scope}_requests_read',
'groupBy' => ['databaseId'], 'groupBy' => ['databaseId'],
], ],
'collections.databaseId.requests.update' => [ 'collections.databaseId.requests.update' => [
'table' => 'appwrite_usage_collections_requests_update', 'table' => 'appwrite_usage_collections_{scope}_requests_update',
'groupBy' => ['databaseId'], 'groupBy' => ['databaseId'],
], ],
'collections.databaseId.requests.delete' => [ 'collections.databaseId.requests.delete' => [
'table' => 'appwrite_usage_collections_requests_delete', 'table' => 'appwrite_usage_collections_{scope}_requests_delete',
'groupBy' => ['databaseId'], 'groupBy' => ['databaseId'],
], ],
'documents.databaseId.requests.create' => [ 'documents.databaseId.requests.create' => [
'table' => 'appwrite_usage_documents_requests_create', 'table' => 'appwrite_usage_documents_{scope}_requests_create',
'groupBy' => ['databaseId'], 'groupBy' => ['databaseId'],
], ],
'documents.databaseId.requests.read' => [ 'documents.databaseId.requests.read' => [
'table' => 'appwrite_usage_documents_requests_read', 'table' => 'appwrite_usage_documents_{scope}_requests_read',
'groupBy' => ['databaseId'], 'groupBy' => ['databaseId'],
], ],
'documents.databaseId.requests.update' => [ 'documents.databaseId.requests.update' => [
'table' => 'appwrite_usage_documents_requests_update', 'table' => 'appwrite_usage_documents_{scope}_requests_update',
'groupBy' => ['databaseId'], 'groupBy' => ['databaseId'],
], ],
'documents.databaseId.requests.delete' => [ 'documents.databaseId.requests.delete' => [
'table' => 'appwrite_usage_documents_requests_delete', 'table' => 'appwrite_usage_documents_{scope}_requests_delete',
'groupBy' => ['databaseId'], 'groupBy' => ['databaseId'],
], ],
'documents.databaseId/collectionId.requests.create' => [ 'documents.databaseId/collectionId.requests.create' => [
'table' => 'appwrite_usage_documents_requests_create', 'table' => 'appwrite_usage_documents_{scope}_requests_create',
'groupBy' => ['databaseId', 'collectionId'], 'groupBy' => ['databaseId', 'collectionId'],
], ],
'documents.databaseId/collectionId.requests.read' => [ 'documents.databaseId/collectionId.requests.read' => [
'table' => 'appwrite_usage_documents_requests_read', 'table' => 'appwrite_usage_documents_{scope}_requests_read',
'groupBy' => ['databaseId', 'collectionId'], 'groupBy' => ['databaseId', 'collectionId'],
], ],
'documents.databaseId/collectionId.requests.update' => [ 'documents.databaseId/collectionId.requests.update' => [
'table' => 'appwrite_usage_documents_requests_update', 'table' => 'appwrite_usage_documents_{scope}_requests_update',
'groupBy' => ['databaseId', 'collectionId'], 'groupBy' => ['databaseId', 'collectionId'],
], ],
'documents.databaseId/collectionId.requests.delete' => [ 'documents.databaseId/collectionId.requests.delete' => [
'table' => 'appwrite_usage_documents_requests_delete', 'table' => 'appwrite_usage_documents_{scope}_requests_delete',
'groupBy' => ['databaseId', 'collectionId'], 'groupBy' => ['databaseId', 'collectionId'],
], ],
'buckets.$all.requests.create' => [ 'buckets.$all.requests.create' => [
'table' => 'appwrite_usage_buckets_requests_create', 'table' => 'appwrite_usage_buckets_{scope}_requests_create',
], ],
'buckets.$all.requests.read' => [ 'buckets.$all.requests.read' => [
'table' => 'appwrite_usage_buckets_requests_read', 'table' => 'appwrite_usage_buckets_{scope}_requests_read',
], ],
'buckets.$all.requests.update' => [ 'buckets.$all.requests.update' => [
'table' => 'appwrite_usage_buckets_requests_update', 'table' => 'appwrite_usage_buckets_{scope}_requests_update',
], ],
'buckets.$all.requests.delete' => [ 'buckets.$all.requests.delete' => [
'table' => 'appwrite_usage_buckets_requests_delete', 'table' => 'appwrite_usage_buckets_{scope}_requests_delete',
], ],
'files.$all.requests.create' => [ 'files.$all.requests.create' => [
'table' => 'appwrite_usage_files_requests_create', 'table' => 'appwrite_usage_files_{scope}_requests_create',
], ],
'files.$all.requests.read' => [ 'files.$all.requests.read' => [
'table' => 'appwrite_usage_files_requests_read', 'table' => 'appwrite_usage_files_{scope}_requests_read',
], ],
'files.$all.requests.update' => [ 'files.$all.requests.update' => [
'table' => 'appwrite_usage_files_requests_update', 'table' => 'appwrite_usage_files_{scope}_requests_update',
], ],
'files.$all.requests.delete' => [ 'files.$all.requests.delete' => [
'table' => 'appwrite_usage_files_requests_delete', 'table' => 'appwrite_usage_files_{scope}_requests_delete',
], ],
'files.bucketId.requests.create' => [ 'files.bucketId.requests.create' => [
'table' => 'appwrite_usage_files_requests_create', 'table' => 'appwrite_usage_files_{scope}_requests_create',
'groupBy' => ['bucketId'], 'groupBy' => ['bucketId'],
], ],
'files.bucketId.requests.read' => [ 'files.bucketId.requests.read' => [
'table' => 'appwrite_usage_files_requests_read', 'table' => 'appwrite_usage_files_{scope}_requests_read',
'groupBy' => ['bucketId'], 'groupBy' => ['bucketId'],
], ],
'files.bucketId.requests.update' => [ 'files.bucketId.requests.update' => [
'table' => 'appwrite_usage_files_requests_update', 'table' => 'appwrite_usage_files_{scope}_requests_update',
'groupBy' => ['bucketId'], 'groupBy' => ['bucketId'],
], ],
'files.bucketId.requests.delete' => [ 'files.bucketId.requests.delete' => [
'table' => 'appwrite_usage_files_requests_delete', 'table' => 'appwrite_usage_files_{scope}_requests_delete',
'groupBy' => ['bucketId'], 'groupBy' => ['bucketId'],
], ],
'users.sessions.create' => [ 'sessions.$all.requests.create' => [
'table' => 'appwrite_usage_users_sessions_create', 'table' => 'appwrite_usage_sessions__{scope}_requests_create',
], ],
'users.sessions.provider.create' => [ 'sessions.provider.requests.create' => [
'table' => 'appwrite_usage_users_sessions_create', 'table' => 'appwrite_usage_sessions_{scope}_requests_create',
'groupBy' => ['provider'], 'groupBy' => ['provider'],
], ],
'users.sessions.delete' => [ 'sessions.$all.requests.delete' => [
'table' => 'appwrite_usage_users_sessions_delete', 'table' => 'appwrite_usage_sessions_{scope}_requests_delete',
], ],
'functions.executions' => [ 'executions.$all.compute.total' => [
'table' => 'appwrite_usage_functions_executions_all', 'table' => 'appwrite_usage_executions_{scope}_compute',
], ],
'functions.builds' => [ 'builds.$all.compute.total' => [
'table' => 'appwrite_usage_functions_builds_all', 'table' => 'appwrite_usage_builds_{scope}_compute',
], ],
'functions.failures' => [ 'executions.$all.compute.failures' => [
'table' => 'appwrite_usage_functions_executions_all', 'table' => 'appwrite_usage_executions_{scope}_compute',
'filters' => [ 'filters' => [
'functionStatus' => 'failed', 'functionStatus' => 'failed',
], ],
], ],
'functions.functionId.executions' => [ 'builds.$all.compute.failures' => [
'table' => 'appwrite_usage_functions_executions_all', 'table' => 'appwrite_usage_builds_{scope}_compute',
'filters' => [
'functionStatus' => 'failed',
],
],
'executions.$all.compute.success' => [
'table' => 'appwrite_usage_executions_{scope}_compute',
'filters' => [
'functionStatus' => 'success',
],
],
'builds.$all.compute.success' => [
'table' => 'appwrite_usage_builds_{scope}_compute',
'filters' => [
'functionStatus' => 'success',
],
],
'executions.functionId.compute.total' => [
'table' => 'appwrite_usage_executions_{scope}_compute',
'groupBy' => ['functionId'], 'groupBy' => ['functionId'],
], ],
'functions.functionId.builds' => [ 'builds.functionId.compute.total' => [
'table' => 'appwrite_usage_functions_builds_all', 'table' => 'appwrite_usage_builds_{scope}_compute',
'groupBy' => ['functionId'], 'groupBy' => ['functionId'],
], ],
'functions.functionId.execution' => [ 'executions.functionId.compute.time' => [
'table' => 'appwrite_usage_functions_executions_time', 'table' => 'appwrite_usage_executions_{scope}_compute_time',
'groupBy' => ['functionId'], 'groupBy' => ['functionId'],
], ],
'functions.functionId.build' => [ 'builds.functionId.compute.time' => [
'table' => 'appwrite_usage_functions_builds_time', 'table' => 'appwrite_usage_builds_{scope}_compute_time',
'groupBy' => ['functionId'], 'groupBy' => ['functionId'],
], ],
'functions.functionId.compute' => [ // Built time + execution time 'executions.functionId.compute.failures' => [
'table' => 'appwrite_usage_functions_compute_time', 'table' => 'appwrite_usage_executions_{scope}_compute',
'groupBy' => ['functionId'],
],
'functions.functionId.executions.failures' => [
'table' => 'appwrite_usage_functions_executions_all',
'groupBy' => ['functionId'], 'groupBy' => ['functionId'],
'filters' => [ 'filters' => [
'functionStatus' => 'failed', 'functionStatus' => 'failed',
], ],
], ],
'functions.functionId.builds.failures' => [ 'builds.functionId.compute.failures' => [
'table' => 'appwrite_usage_functions_builds_all', 'table' => 'appwrite_usage_builds_{scope}_compute',
'groupBy' => ['functionId'], 'groupBy' => ['functionId'],
'filters' => [ 'filters' => [
'functionBuildStatus' => 'failed', 'functionBuildStatus' => 'failed',
], ],
], ],
'executions.functionId.compute.success' => [
'table' => 'appwrite_usage_executions_{scope}_compute',
'groupBy' => ['functionId'],
'filters' => [
'functionStatus' => 'success',
],
],
'builds.functionId.compute.success' => [
'table' => 'appwrite_usage_builds_{scope}_compute',
'groupBy' => ['functionId'],
'filters' => [
'functionBuildStatus' => 'success',
],
],
'project.$all.compute.time' => [ // Built time + execution time
'table' => 'appwrite_usage_project_{scope}_compute_time',
'groupBy' => ['functionId'],
],
]; ];
protected array $period = [ protected array $period = [

View file

@ -104,17 +104,17 @@ class Stats
$this->statsd->setNamespace($this->namespace); $this->statsd->setNamespace($this->namespace);
if ($httpRequest >= 1) { if ($httpRequest >= 1) {
$this->statsd->increment('network.requests' . $tags . ',method=' . \strtolower($httpMethod)); $this->statsd->increment('project.{scope}.network.requests' . $tags . ',method=' . \strtolower($httpMethod));
} }
$this->statsd->count('network.inbound' . $tags, $networkRequestSize); $this->statsd->count('project.{scope}.network.inbound' . $tags, $networkRequestSize);
$this->statsd->count('network.outbound' . $tags, $networkResponseSize); $this->statsd->count('project.{scope}.network.outbound' . $tags, $networkResponseSize);
$this->statsd->count('network.bandwidth' . $tags, $networkRequestSize + $networkResponseSize); $this->statsd->count('project.{scope}.network.bandwidth' . $tags, $networkRequestSize + $networkResponseSize);
$usersMetrics = [ $usersMetrics = [
'users.requests.create', 'users.{scope}.requests.create',
'users.requests.read', 'users.{scope}.requests.read',
'users.requests.update', 'users.{scope}.requests.update',
'users.requests.delete', 'users.{scope}.requests.delete',
]; ];
foreach ($usersMetrics as $metric) { foreach ($usersMetrics as $metric) {
@ -125,18 +125,18 @@ class Stats
} }
$dbMetrics = [ $dbMetrics = [
'databases.requests.create', 'databases.{scope}.requests.create',
'databases.requests.read', 'databases.{scope}.requests.read',
'databases.requests.update', 'databases.{scope}.requests.update',
'databases.requests.delete', 'databases.{scope}.requests.delete',
'collections.requests.create', 'collections.{scope}.requests.create',
'collections.requests.read', 'collections.{scope}.requests.read',
'collections.requests.update', 'collections.{scope}.requests.update',
'collections.requests.delete', 'collections.{scope}.requests.delete',
'documents.requests.create', 'documents.{scope}.requests.create',
'documents.requests.read', 'documents.{scope}.requests.read',
'documents.requests.update', 'documents.{scope}.requests.update',
'documents.requests.delete', 'documents.{scope}.requests.delete',
]; ];
foreach ($dbMetrics as $metric) { foreach ($dbMetrics as $metric) {
@ -148,14 +148,14 @@ class Stats
} }
$storageMertics = [ $storageMertics = [
'buckets.requests.create', 'buckets.{scope}.requests.create',
'buckets.requests.read', 'buckets.{scope}.requests.read',
'buckets.requests.update', 'buckets.{scope}.requests.update',
'buckets.requests.delete', 'buckets.{scope}.requests.delete',
'files.requests.create', 'files.{scope}.requests.create',
'files.requests.read', 'files.{scope}.requests.read',
'files.requests.update', 'files.{scope}.requests.update',
'files.requests.delete', 'files.{scope}.requests.delete',
]; ];
foreach ($storageMertics as $metric) { foreach ($storageMertics as $metric) {
@ -167,8 +167,8 @@ class Stats
} }
$sessionsMetrics = [ $sessionsMetrics = [
'users.sessions.create', 'sessions.{scope}.requests.create',
'users.sessions.delete', 'sessions.{scope}.requests.delete',
]; ];
foreach ($sessionsMetrics as $metric) { foreach ($sessionsMetrics as $metric) {
@ -185,15 +185,15 @@ class Stats
} }
if ($functionExecution >= 1) { if ($functionExecution >= 1) {
$this->statsd->increment('executions.compute' . $tags . ',functionId=' . $functionId . ',functionStatus=' . $functionStatus); $this->statsd->increment('executions.{scope}.compute' . $tags . ',functionId=' . $functionId . ',functionStatus=' . $functionStatus);
$this->statsd->count('executions.compute.time' . $tags . ',functionId=' . $functionId, $functionExecutionTime); $this->statsd->count('executions.{scope}.compute.time' . $tags . ',functionId=' . $functionId, $functionExecutionTime);
} }
if ($functionBuild >= 1) { if ($functionBuild >= 1) {
$this->statsd->increment('builds.compute' . $tags . ',functionId=' . $functionId . ',functionBuildStatus=' . $functionBuildStatus); $this->statsd->increment('builds.{scope}.compute' . $tags . ',functionId=' . $functionId . ',functionBuildStatus=' . $functionBuildStatus);
$this->statsd->count('builds.compute.time' . $tags . ',functionId=' . $functionId, $functionExecutionTime); $this->statsd->count('builds.{scope}.compute.time' . $tags . ',functionId=' . $functionId, $functionExecutionTime);
} }
if ($functionBuild + $functionExecution >= 1) { if ($functionBuild + $functionExecution >= 1) {
$this->statsd->count('compute.time' . $tags . ',functionId=' . $functionId, $functionCompute); $this->statsd->count('project.{scope}.compute.time' . $tags . ',functionId=' . $functionId, $functionCompute);
} }
$this->reset(); $this->reset();