support usage metrics update

This commit is contained in:
shimon
2023-02-07 16:47:01 +02:00
parent 37c45aa11f
commit 453f010bfd
15 changed files with 14 additions and 277 deletions
-79
View File
@@ -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[]
};
};
@@ -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'
}} />
@@ -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[]
};
};
@@ -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'
}} />
@@ -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[]
};
};
@@ -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>
@@ -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[]
};
};
@@ -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'
}} />
@@ -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[]
};
};