mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
support usage metrics update
This commit is contained in:
@@ -26,16 +26,7 @@
|
||||
|
||||
export let title: string;
|
||||
export let count: Models.Metric[];
|
||||
export let created: Models.Metric[];
|
||||
export let read: Models.Metric[];
|
||||
export let updated: Models.Metric[];
|
||||
export let deleted: Models.Metric[];
|
||||
|
||||
export let countMetadata: MetricMetadata;
|
||||
export let createdMetadata: MetricMetadata;
|
||||
export let readMetadata: MetricMetadata;
|
||||
export let updatedMetadata: MetricMetadata;
|
||||
export let deletedMetadata: MetricMetadata;
|
||||
export let path: string = null;
|
||||
</script>
|
||||
|
||||
@@ -72,76 +63,6 @@
|
||||
</div>
|
||||
{/if}
|
||||
</Card>
|
||||
<Tiles>
|
||||
<Card isTile>
|
||||
{#if created}
|
||||
<Heading tag="h6" size="6">{total(created)}</Heading>
|
||||
<p>{createdMetadata.title}</p>
|
||||
<div class="u-margin-block-start-16" />
|
||||
<div class="chart-container">
|
||||
<LineChart
|
||||
series={[
|
||||
{
|
||||
name: createdMetadata.legend,
|
||||
data: [...created.map((e) => [e.date, e.value])],
|
||||
color: Colors.Secondary
|
||||
}
|
||||
]} />
|
||||
</div>
|
||||
{/if}
|
||||
</Card>
|
||||
<Card isTile>
|
||||
{#if read}
|
||||
<Heading tag="h6" size="6">{total(read)}</Heading>
|
||||
<p>{readMetadata.title}</p>
|
||||
<div class="u-margin-block-start-16" />
|
||||
<div class="chart-container">
|
||||
<LineChart
|
||||
series={[
|
||||
{
|
||||
name: readMetadata.legend,
|
||||
data: [...read.map((e) => [e.date, e.value])],
|
||||
color: Colors.Tertiary
|
||||
}
|
||||
]} />
|
||||
</div>
|
||||
{/if}
|
||||
</Card>
|
||||
<Card isTile>
|
||||
{#if updated}
|
||||
<Heading tag="h6" size="6">{total(updated)}</Heading>
|
||||
<p>{updatedMetadata.title}</p>
|
||||
<div class="u-margin-block-start-16" />
|
||||
<div class="chart-container">
|
||||
<LineChart
|
||||
series={[
|
||||
{
|
||||
name: updatedMetadata.legend,
|
||||
data: [...updated.map((e) => [e.date, e.value])],
|
||||
color: Colors.Quaternary
|
||||
}
|
||||
]} />
|
||||
</div>
|
||||
{/if}
|
||||
</Card>
|
||||
<Card isTile>
|
||||
{#if deleted}
|
||||
<Heading tag="h6" size="6">{total(deleted)}</Heading>
|
||||
<p>{deletedMetadata.title}</p>
|
||||
<div class="u-margin-block-start-16" />
|
||||
<div class="chart-container">
|
||||
<LineChart
|
||||
series={[
|
||||
{
|
||||
name: deletedMetadata.legend,
|
||||
data: [...deleted.map((e) => [e.date, e.value])],
|
||||
color: Colors.Quinary
|
||||
}
|
||||
]} />
|
||||
</div>
|
||||
{/if}
|
||||
</Card>
|
||||
</Tiles>
|
||||
</Container>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
@@ -5,38 +5,14 @@
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
$: count = data.count;
|
||||
$: created = data.created;
|
||||
$: read = data.read;
|
||||
$: updated = data.updated;
|
||||
$: deleted = data.deleted;
|
||||
$: count = data.usersTotal;
|
||||
</script>
|
||||
|
||||
<Usage
|
||||
title="Users"
|
||||
path={`/console/project-${$page.params.project}/auth/usage`}
|
||||
{count}
|
||||
{created}
|
||||
{read}
|
||||
{updated}
|
||||
{deleted}
|
||||
countMetadata={{
|
||||
legend: 'Users',
|
||||
title: 'Registered users'
|
||||
}}
|
||||
createdMetadata={{
|
||||
legend: 'Create',
|
||||
title: 'Users created'
|
||||
}}
|
||||
readMetadata={{
|
||||
legend: 'Read',
|
||||
title: 'Users read'
|
||||
}}
|
||||
updatedMetadata={{
|
||||
legend: 'Update',
|
||||
title: 'Users updated'
|
||||
}}
|
||||
deletedMetadata={{
|
||||
legend: 'Delete',
|
||||
title: 'Users deleted'
|
||||
}} />
|
||||
|
||||
@@ -7,10 +7,6 @@ export const load: PageLoad = async ({ params, parent }) => {
|
||||
const { period } = params;
|
||||
const response = await sdkForProject.users.getUsage(period ?? '30d');
|
||||
return {
|
||||
count: response.usersCount as unknown as Models.Metric[],
|
||||
created: response.usersCreate as unknown as Models.Metric[],
|
||||
read: response.usersRead as unknown as Models.Metric[],
|
||||
updated: response.usersUpdate as unknown as Models.Metric[],
|
||||
deleted: response.usersDelete as unknown as Models.Metric[]
|
||||
usersTotal: response.usersTotal as unknown as Models.Metric[]
|
||||
};
|
||||
};
|
||||
|
||||
+1
-25
@@ -5,38 +5,14 @@
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
$: count = data.count;
|
||||
$: created = data.created;
|
||||
$: read = data.read;
|
||||
$: updated = data.updated;
|
||||
$: deleted = data.deleted;
|
||||
$: count = data.documentsTotal;
|
||||
</script>
|
||||
|
||||
<Usage
|
||||
title="Databases"
|
||||
path={`/console/project-${$page.params.project}/databases/database-${$page.params.database}/collection-${$page.params.collection}/usage`}
|
||||
{count}
|
||||
{created}
|
||||
{read}
|
||||
{updated}
|
||||
{deleted}
|
||||
countMetadata={{
|
||||
legend: 'Documents',
|
||||
title: 'Total documents'
|
||||
}}
|
||||
createdMetadata={{
|
||||
legend: 'Create',
|
||||
title: 'Documents created'
|
||||
}}
|
||||
readMetadata={{
|
||||
legend: 'Read',
|
||||
title: 'Documents read'
|
||||
}}
|
||||
updatedMetadata={{
|
||||
legend: 'Update',
|
||||
title: 'Documents updated'
|
||||
}}
|
||||
deletedMetadata={{
|
||||
legend: 'Delete',
|
||||
title: 'Documents deleted'
|
||||
}} />
|
||||
|
||||
+1
-5
@@ -11,10 +11,6 @@ export const load: PageLoad = async ({ params, parent }) => {
|
||||
);
|
||||
|
||||
return {
|
||||
count: response.documentsCount as unknown as Models.Metric[],
|
||||
created: response.documentsCreate as unknown as Models.Metric[],
|
||||
read: response.documentsRead as unknown as Models.Metric[],
|
||||
updated: response.documentsUpdate as unknown as Models.Metric[],
|
||||
deleted: response.documentsDelete as unknown as Models.Metric[]
|
||||
documentsTotal: response.documentsTotal as unknown as Models.Metric[]
|
||||
};
|
||||
};
|
||||
|
||||
+1
-25
@@ -5,38 +5,14 @@
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
$: count = data.count;
|
||||
$: created = data.created;
|
||||
$: read = data.read;
|
||||
$: updated = data.updated;
|
||||
$: deleted = data.deleted;
|
||||
$: count = data.collectionsTotal;
|
||||
</script>
|
||||
|
||||
<Usage
|
||||
title="Databases"
|
||||
path={`/console/project-${$page.params.project}/databases/database-${$page.params.database}/usage`}
|
||||
{count}
|
||||
{created}
|
||||
{read}
|
||||
{updated}
|
||||
{deleted}
|
||||
countMetadata={{
|
||||
legend: 'Collections',
|
||||
title: 'Total collections'
|
||||
}}
|
||||
createdMetadata={{
|
||||
legend: 'Create',
|
||||
title: 'Collections created'
|
||||
}}
|
||||
readMetadata={{
|
||||
legend: 'Read',
|
||||
title: 'Collections read'
|
||||
}}
|
||||
updatedMetadata={{
|
||||
legend: 'Update',
|
||||
title: 'Collections updated'
|
||||
}}
|
||||
deletedMetadata={{
|
||||
legend: 'Delete',
|
||||
title: 'Collections deleted'
|
||||
}} />
|
||||
|
||||
+1
-5
@@ -10,10 +10,6 @@ export const load: PageLoad = async ({ params, parent }) => {
|
||||
);
|
||||
|
||||
return {
|
||||
count: response.collectionsCount as unknown as Models.Metric[],
|
||||
created: response.collectionsCreate as unknown as Models.Metric[],
|
||||
read: response.collectionsRead as unknown as Models.Metric[],
|
||||
updated: response.collectionsUpdate as unknown as Models.Metric[],
|
||||
deleted: response.collectionsDelete as unknown as Models.Metric[]
|
||||
collectionsTotal: response.collectionsTotal as unknown as Models.Metric[]
|
||||
};
|
||||
};
|
||||
|
||||
@@ -5,38 +5,14 @@
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
$: count = data.count;
|
||||
$: created = data.created;
|
||||
$: read = data.read;
|
||||
$: updated = data.updated;
|
||||
$: deleted = data.deleted;
|
||||
$: count = data.databasesTotal;
|
||||
</script>
|
||||
|
||||
<Usage
|
||||
title="Databases"
|
||||
path={`/console/project-${$page.params.project}/databases/usage`}
|
||||
{count}
|
||||
{created}
|
||||
{read}
|
||||
{updated}
|
||||
{deleted}
|
||||
countMetadata={{
|
||||
legend: 'Databases',
|
||||
title: 'Total databases'
|
||||
}}
|
||||
createdMetadata={{
|
||||
legend: 'Create',
|
||||
title: 'Databases created'
|
||||
}}
|
||||
readMetadata={{
|
||||
legend: 'Read',
|
||||
title: 'Databases read'
|
||||
}}
|
||||
updatedMetadata={{
|
||||
legend: 'Update',
|
||||
title: 'Databases updated'
|
||||
}}
|
||||
deletedMetadata={{
|
||||
legend: 'Delete',
|
||||
title: 'Databases deleted'
|
||||
}} />
|
||||
|
||||
@@ -8,10 +8,6 @@ export const load: PageLoad = async ({ params, parent }) => {
|
||||
const response = await sdkForProject.databases.getUsage(period ?? '30d');
|
||||
|
||||
return {
|
||||
count: response.databasesCount as unknown as Models.Metric[],
|
||||
created: response.databasesCreate as unknown as Models.Metric[],
|
||||
read: response.databasesRead as unknown as Models.Metric[],
|
||||
updated: response.databasesUpdate as unknown as Models.Metric[],
|
||||
deleted: response.databasesDelete as unknown as Models.Metric[]
|
||||
databasesTotal: response.databasesTotal as unknown as Models.Metric[]
|
||||
};
|
||||
};
|
||||
|
||||
+1
-16
@@ -8,8 +8,7 @@
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
$: count = data.count;
|
||||
$: errors = data.errors;
|
||||
$: count = data.executionsTotal;
|
||||
</script>
|
||||
|
||||
<Container>
|
||||
@@ -47,18 +46,4 @@
|
||||
]} />
|
||||
</Card>
|
||||
{/if}
|
||||
{#if errors}
|
||||
<Card>
|
||||
<Heading tag="h6" size="6">{last(errors).value}</Heading>
|
||||
<p>Errors</p>
|
||||
<div class="u-margin-block-start-16" />
|
||||
<BarChart
|
||||
series={[
|
||||
{
|
||||
name: 'Count of function errors over time',
|
||||
data: [...errors.map((e) => [e.date, e.value])]
|
||||
}
|
||||
]} />
|
||||
</Card>
|
||||
{/if}
|
||||
</Container>
|
||||
|
||||
+1
-2
@@ -10,7 +10,6 @@ export const load: PageLoad = async ({ params, parent }) => {
|
||||
);
|
||||
|
||||
return {
|
||||
count: response.executionsTotal as unknown as Models.Metric[],
|
||||
errors: response.buildsFailure as unknown as Models.Metric[]
|
||||
executionsTotal: response.executionsTotal as unknown as Models.Metric[]
|
||||
};
|
||||
};
|
||||
|
||||
+1
-25
@@ -5,38 +5,14 @@
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
$: count = data.count;
|
||||
$: created = data.created;
|
||||
$: read = data.read;
|
||||
$: updated = data.updated;
|
||||
$: deleted = data.deleted;
|
||||
$: count = data.filesTotal;
|
||||
</script>
|
||||
|
||||
<Usage
|
||||
title="Files"
|
||||
path={`/console/project-${$page.params.project}/storage/bucket-${$page.params.bucket}/usage`}
|
||||
{count}
|
||||
{created}
|
||||
{read}
|
||||
{updated}
|
||||
{deleted}
|
||||
countMetadata={{
|
||||
legend: 'Files',
|
||||
title: 'Total files'
|
||||
}}
|
||||
createdMetadata={{
|
||||
legend: 'Create',
|
||||
title: 'Files created'
|
||||
}}
|
||||
readMetadata={{
|
||||
legend: 'Read',
|
||||
title: 'Files read'
|
||||
}}
|
||||
updatedMetadata={{
|
||||
legend: 'Update',
|
||||
title: 'Files updated'
|
||||
}}
|
||||
deletedMetadata={{
|
||||
legend: 'Delete',
|
||||
title: 'Files deleted'
|
||||
}} />
|
||||
|
||||
+1
-5
@@ -10,10 +10,6 @@ export const load: PageLoad = async ({ params, parent }) => {
|
||||
);
|
||||
|
||||
return {
|
||||
count: response.filesCount as unknown as Models.Metric[],
|
||||
created: response.filesCreate as unknown as Models.Metric[],
|
||||
read: response.filesRead as unknown as Models.Metric[],
|
||||
updated: response.filesUpdate as unknown as Models.Metric[],
|
||||
deleted: response.filesDelete as unknown as Models.Metric[]
|
||||
filesTotal: response.filesTotal as unknown as Models.Metric[]
|
||||
};
|
||||
};
|
||||
|
||||
@@ -5,38 +5,14 @@
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
$: count = data.count;
|
||||
$: created = data.created;
|
||||
$: read = data.read;
|
||||
$: updated = data.updated;
|
||||
$: deleted = data.deleted;
|
||||
$: count = data.bucketsTotal;
|
||||
</script>
|
||||
|
||||
<Usage
|
||||
title="Buckets"
|
||||
path={`/console/project-${$page.params.project}/storage/usage`}
|
||||
{count}
|
||||
{created}
|
||||
{read}
|
||||
{updated}
|
||||
{deleted}
|
||||
countMetadata={{
|
||||
legend: 'Buckets',
|
||||
title: 'Total buckets'
|
||||
}}
|
||||
createdMetadata={{
|
||||
legend: 'Create',
|
||||
title: 'Buckets created'
|
||||
}}
|
||||
readMetadata={{
|
||||
legend: 'Read',
|
||||
title: 'Buckets read'
|
||||
}}
|
||||
updatedMetadata={{
|
||||
legend: 'Update',
|
||||
title: 'Buckets updated'
|
||||
}}
|
||||
deletedMetadata={{
|
||||
legend: 'Delete',
|
||||
title: 'Buckets deleted'
|
||||
}} />
|
||||
|
||||
@@ -7,10 +7,6 @@ export const load: PageLoad = async ({ params, parent }) => {
|
||||
const response = await sdkForProject.storage.getUsage(params.period ?? '30d');
|
||||
|
||||
return {
|
||||
count: response.bucketsCount as unknown as Models.Metric[],
|
||||
created: response.bucketsCreate as unknown as Models.Metric[],
|
||||
read: response.bucketsRead as unknown as Models.Metric[],
|
||||
updated: response.bucketsUpdate as unknown as Models.Metric[],
|
||||
deleted: response.bucketsDelete as unknown as Models.Metric[]
|
||||
bucketsTotal: response.bucketsTotal as unknown as Models.Metric[]
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user