Files
supabase/apps/studio/data/analytics/keys.ts
T
Lakshan Perera ca8007ec80 feat: Show resource usage in function metrics (#18956)
* feat: show resource usage charts in function metrics

* fix: show highlighted value in StackedBarChart

* fix: PR feedback updates
2023-11-16 07:10:18 +11:00

145 lines
2.8 KiB
TypeScript

export const analyticsKeys = {
functionsInvStats: (
projectRef: string | undefined,
{
interval,
functionId,
}: {
functionId: string | undefined
interval: string | undefined
}
) =>
[
'projects',
projectRef,
'functions-inv-stats',
{
interval,
functionId,
},
] as const,
functionsReqStats: (
projectRef: string | undefined,
{
interval,
functionId,
}: {
functionId: string | undefined
interval: string | undefined
}
) =>
[
'projects',
projectRef,
'functions-req-stats',
{
interval,
functionId,
},
] as const,
functionsResourceUsage: (
projectRef: string | undefined,
{
interval,
functionId,
}: {
functionId: string | undefined
interval: string | undefined
}
) =>
[
'projects',
projectRef,
'functions-resource-usage',
{
interval,
functionId,
},
] as const,
dailyStats: (
projectRef: string | undefined,
{
attribute,
startDate,
endDate,
interval,
}: {
attribute?: string
startDate?: string
endDate?: string
interval?: string
}
) =>
[
'projects',
projectRef,
'daily-stats',
{
attribute,
startDate: isoDateStringToDate(startDate),
endDate: isoDateStringToDate(endDate),
interval,
},
] as const,
orgDailyStats: (
orgSlug: string | undefined,
{
metric,
startDate,
endDate,
interval,
projectRef,
}: {
metric?: string
startDate?: string
endDate?: string
interval?: string
projectRef?: string
}
) =>
[
'organizations',
orgSlug,
'daily-stats',
{
metric,
startDate: isoDateStringToDate(startDate),
endDate: isoDateStringToDate(endDate),
interval,
projectRef,
},
] as const,
infraMonitoring: (
projectRef: string | undefined,
{
attribute,
startDate,
endDate,
interval,
}: {
attribute?: string
startDate?: string
endDate?: string
interval?: string
}
) =>
[
'projects',
projectRef,
'infra-monitoring',
{ attribute, startDate, endDate, interval },
] as const,
usageApiCounts: (projectRef: string | undefined, interval: string | undefined) =>
['projects', projectRef, 'usage.api-counts', interval] as const,
usageApiRequestsCount: (projectRef: string | undefined) =>
['projects', projectRef, 'usage.api-requests-count'] as const,
}
function isoDateStringToDate(isoDateString: string | undefined): string | undefined {
if (!isoDateString) return isoDateString
return isoDateString.split('T')[0]
}