From d8acd6752ca69174a3bcdde9f95d7dbed9813e7e Mon Sep 17 00:00:00 2001 From: Jordi Enric <37541088+jordienr@users.noreply.github.com> Date: Thu, 17 Jul 2025 12:33:33 +0200 Subject: [PATCH 01/12] fix timestamp missing (#37242) fix --- apps/studio/components/ui/Charts/ComposedChart.utils.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/studio/components/ui/Charts/ComposedChart.utils.tsx b/apps/studio/components/ui/Charts/ComposedChart.utils.tsx index 09aaaef44a467..d7151ff115bc3 100644 --- a/apps/studio/components/ui/Charts/ComposedChart.utils.tsx +++ b/apps/studio/components/ui/Charts/ComposedChart.utils.tsx @@ -140,6 +140,7 @@ const CustomTooltip = ({ isActiveHoveredChart, }: TooltipProps) => { if (active && payload && payload.length) { + const timestamp = payload[0].payload.timestamp const maxValueAttribute = isMaxAttribute(attributes) const maxValueData = maxValueAttribute && payload?.find((p: any) => p.dataKey === maxValueAttribute.attribute) @@ -205,7 +206,7 @@ const CustomTooltip = ({ !isActiveHoveredChart && 'opacity-0' )} > -

{label}

+

{dayjs(timestamp).format(DateTimeFormats.FULL_SECONDS)}

{payload .reverse() From d9cfc6b0a8d2576574ccf9a17d10f614a4dc6334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cemal=20K=C4=B1l=C4=B1=C3=A7?= Date: Thu, 17 Jul 2025 13:49:09 +0200 Subject: [PATCH 02/12] feat: bump auth-js version to 2.71.1-rc.1 (#37245) --- pnpm-lock.yaml | 33 +++++++++++++++++---------------- pnpm-workspace.yaml | 2 +- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ed6b1f02c06d..fb44843cad96c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,8 +7,8 @@ settings: catalogs: default: '@supabase/auth-js': - specifier: 2.71.0-rc.8 - version: 2.71.0-rc.8 + specifier: 2.71.1-rc.1 + version: 2.71.1-rc.1 '@supabase/realtime-js': specifier: ^2.11.3 version: 2.11.3 @@ -41,7 +41,7 @@ catalogs: version: 6.3.5 overrides: - '@supabase/supabase-js>@supabase/auth-js': 2.71.0-rc.8 + '@supabase/supabase-js>@supabase/auth-js': 2.71.1-rc.1 '@tanstack/directive-functions-plugin>vite': ^6.2.7 '@tanstack/react-start-plugin>vite': ^6.2.7 esbuild: ^0.25.2 @@ -331,7 +331,7 @@ importers: version: 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@sentry/nextjs': specifier: ^9.15.0 - version: 9.15.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0)(supports-color@8.1.1))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.3.1(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1)(supports-color@8.1.1)(webpack@5.94.0) + version: 9.15.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0)(supports-color@8.1.1))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1)(supports-color@8.1.1)(webpack@5.94.0) '@supabase/supabase-js': specifier: 'catalog:' version: 2.49.3 @@ -451,7 +451,7 @@ importers: version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) nuqs: specifier: ^1.19.1 - version: 1.19.1(next@15.3.1(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)) + version: 1.19.1(next@15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)) openai: specifier: ^4.20.1 version: 4.71.1(encoding@0.1.13)(zod@3.23.8) @@ -737,7 +737,7 @@ importers: version: 5.5.0 '@supabase/auth-js': specifier: 'catalog:' - version: 2.71.0-rc.8 + version: 2.71.1-rc.1 '@supabase/mcp-server-supabase': specifier: ^0.4.4 version: 0.4.4(supports-color@8.1.1) @@ -1137,7 +1137,7 @@ importers: version: 2.4.11(typescript@5.5.2) next-router-mock: specifier: ^0.9.13 - version: 0.9.13(next@15.3.1(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) + version: 0.9.13(next@15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) postcss: specifier: ^8.5.3 version: 8.5.3 @@ -1812,7 +1812,7 @@ importers: dependencies: '@supabase/auth-js': specifier: 'catalog:' - version: 2.71.0-rc.8 + version: 2.71.1-rc.1 '@supabase/supabase-js': specifier: 'catalog:' version: 2.49.3 @@ -2395,7 +2395,7 @@ importers: version: link:../api-types next-router-mock: specifier: ^0.9.13 - version: 0.9.13(next@15.3.1(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) + version: 0.9.13(next@15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1) tsx: specifier: ^4.19.3 version: 4.19.3 @@ -8054,8 +8054,8 @@ packages: resolution: {integrity: sha512-lkfjyAd34aeMpTKKcEVfy8IUyEsjuAT3t9EXr5yZDtdIUncnZpedl/xLV16Dkd4z+fQwixScsCCDxSMNtBOgpQ==} engines: {node: '>=12.16'} - '@supabase/auth-js@2.71.0-rc.8': - resolution: {integrity: sha512-GX4UDxkhzk9Es8dGSJIcxVrgOPm9pUoEubNavShylpcCfDm5DELzTsc09GRUFaItfmnh5rWXDhV97PfLz1J6zA==} + '@supabase/auth-js@2.71.1-rc.1': + resolution: {integrity: sha512-tgSFLO19e8Ig7eQON6c02DoyfV3OLEG709UqinbFExvRKB4z1yHBwwaMbkZtoKcu395AFVtekcHtoM9TEmixoQ==} '@supabase/functions-js@2.4.4': resolution: {integrity: sha512-WL2p6r4AXNGwop7iwvul2BvOtuJ1YQy8EbOd0dhG1oN1q8el/BIRSFCFnWAMM/vJJlHWLi4ad22sKbKr9mvjoA==} @@ -11307,6 +11307,7 @@ packages: resolution: {integrity: sha512-t0q23FIpvHDTtnORW+bDJziGsal5uh9RJTJ1fyH8drd4lICOoXhJ5pLMUZ5C0VQei6dNmwTzzoTRgMkO9JgHEQ==} peerDependencies: eslint: '>= 5' + bundledDependencies: [] eslint-plugin-import@2.31.0: resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} @@ -26071,7 +26072,7 @@ snapshots: - supports-color - webpack - '@sentry/nextjs@9.15.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0)(supports-color@8.1.1))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.3.1(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1)(supports-color@8.1.1)(webpack@5.94.0)': + '@sentry/nextjs@9.15.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0)(supports-color@8.1.1))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(encoding@0.1.13)(next@15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1)(supports-color@8.1.1)(webpack@5.94.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.32.0 @@ -26883,7 +26884,7 @@ snapshots: '@stripe/stripe-js@5.5.0': {} - '@supabase/auth-js@2.71.0-rc.8': + '@supabase/auth-js@2.71.1-rc.1': dependencies: '@supabase/node-fetch': 2.6.15 @@ -27040,7 +27041,7 @@ snapshots: '@supabase/supabase-js@2.49.3': dependencies: - '@supabase/auth-js': 2.71.0-rc.8 + '@supabase/auth-js': 2.71.1-rc.1 '@supabase/functions-js': 2.4.4 '@supabase/node-fetch': 2.6.15 '@supabase/postgrest-js': 1.19.2 @@ -35017,7 +35018,7 @@ snapshots: dependencies: js-yaml-loader: 1.2.2 - next-router-mock@0.9.13(next@15.3.1(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1): + next-router-mock@0.9.13(next@15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react@18.3.1): dependencies: next: 15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4) react: 18.3.1 @@ -35354,7 +35355,7 @@ snapshots: number-flow@0.3.7: {} - nuqs@1.19.1(next@15.3.1(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)): + nuqs@1.19.1(next@15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)): dependencies: mitt: 3.0.1 next: 15.3.1(@babel/core@7.26.10(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.53.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f3018fea5abb0..8ebffb10ef169 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,7 +5,7 @@ packages: catalog: '@types/node': ^22.0.0 - '@supabase/auth-js': 2.71.0-rc.8 + '@supabase/auth-js': 2.71.1-rc.1 '@supabase/supabase-js': ^2.47.14 '@supabase/realtime-js': ^2.11.3 next: 15.3.1 From 78ec1a4c9165e46ffc143c4753d616dbd9c40f69 Mon Sep 17 00:00:00 2001 From: Alaister Young Date: Thu, 17 Jul 2025 19:57:00 +0800 Subject: [PATCH 03/12] fix: full refresh on logs page (#37246) --- apps/studio/pages/project/[ref]/logs/index.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/studio/pages/project/[ref]/logs/index.tsx b/apps/studio/pages/project/[ref]/logs/index.tsx index 4875b1f9545d5..92ac4e81db75e 100644 --- a/apps/studio/pages/project/[ref]/logs/index.tsx +++ b/apps/studio/pages/project/[ref]/logs/index.tsx @@ -1,7 +1,7 @@ import { useRouter } from 'next/router' -import { useEffect } from 'react' +import { useContext, useEffect } from 'react' -import { LOCAL_STORAGE_KEYS, useParams } from 'common' +import { FeatureFlagContext, LOCAL_STORAGE_KEYS, useParams } from 'common' import { useUnifiedLogsPreview } from 'components/interfaces/App/FeaturePreview/FeaturePreviewContext' import { UnifiedLogs } from 'components/interfaces/UnifiedLogs/UnifiedLogs' import DefaultLayout from 'components/layouts/DefaultLayout' @@ -13,6 +13,7 @@ import type { NextPageWithLayout } from 'types' export const LogPage: NextPageWithLayout = () => { const router = useRouter() const { ref } = useParams() + const { hasLoaded } = useContext(FeatureFlagContext) const { isEnabled: isUnifiedLogsEnabled } = useUnifiedLogsPreview() const [lastVisitedLogsPage] = useLocalStorageQuery( @@ -21,29 +22,29 @@ export const LogPage: NextPageWithLayout = () => { ) useEffect(() => { - if (!isUnifiedLogsEnabled) { + if (hasLoaded && !isUnifiedLogsEnabled) { router.replace(`/project/${ref}/logs/${lastVisitedLogsPage}`) } - }, [router, lastVisitedLogsPage, ref, isUnifiedLogsEnabled]) + }, [router, hasLoaded, lastVisitedLogsPage, ref, isUnifiedLogsEnabled]) // Handle redirects when unified logs preview flag changes useEffect(() => { // Only handle redirects if we're currently on a logs page - if (!router.asPath.includes('/logs')) return + if (!router.asPath.includes('/logs') || !hasLoaded) return if (isUnifiedLogsEnabled) { // If unified logs preview is enabled and we're not already on the main logs page if (router.asPath !== `/project/${ref}/logs` && router.asPath.includes('/logs/')) { router.push(`/project/${ref}/logs`) } - } else if (!isUnifiedLogsEnabled) { + } else { // If unified logs preview is disabled and admin flag is also off // and we're on the main logs page, redirect to explorer if (router.asPath === `/project/${ref}/logs`) { router.push(`/project/${ref}/logs/explorer`) } } - }, [isUnifiedLogsEnabled, router, ref]) + }, [isUnifiedLogsEnabled, router, ref, hasLoaded]) if (isUnifiedLogsEnabled) { return ( From ef2fbb88c429b9bf04f2efa5d96832f2fed2af3a Mon Sep 17 00:00:00 2001 From: Jonathan Summers-Muir Date: Thu, 17 Jul 2025 20:07:00 +0800 Subject: [PATCH 04/12] Feat/logs date refactor (#37243) * Integrate LogsDatePicker into DataTable timerange filter Replaces DatePickerWithRange with LogsDatePicker in DataTableFilterTimerange, enabling use of helper presets and improved date range selection. Adds support for passing button props and synchronizes filter value logic with the new date picker component. * Add upgrade prompt for log date range limit Introduces an upgrade prompt when users select a log date range that exceeds their current plan's retention limits. Uses `maybeShowUpgradePrompt` and `useCurrentOrgPlan` to determine when to show the prompt, improving user awareness of plan restrictions. --- .../Settings/Logs/Logs.DatePickers.tsx | 16 ++- .../DataTableFilterTimerange.tsx | 99 +++++++++++++++++-- 2 files changed, 103 insertions(+), 12 deletions(-) diff --git a/apps/studio/components/interfaces/Settings/Logs/Logs.DatePickers.tsx b/apps/studio/components/interfaces/Settings/Logs/Logs.DatePickers.tsx index e7b88a9a55237..b4a7010cce6a2 100644 --- a/apps/studio/components/interfaces/Settings/Logs/Logs.DatePickers.tsx +++ b/apps/studio/components/interfaces/Settings/Logs/Logs.DatePickers.tsx @@ -11,6 +11,7 @@ import TimeSplitInput from 'components/ui/DatePicker/TimeSplitInput' import { useCurrentOrgPlan } from 'hooks/misc/useCurrentOrgPlan' import { Button, + ButtonProps, PopoverContent_Shadcn_, PopoverTrigger_Shadcn_, Popover_Shadcn_, @@ -31,9 +32,17 @@ interface Props { value: DatePickerValue helpers: DatetimeHelper[] onSubmit: (value: DatePickerValue) => void + buttonTriggerProps?: ButtonProps + popoverContentProps?: typeof PopoverContent_Shadcn_ } -export const LogsDatePicker = ({ onSubmit, helpers, value }: PropsWithChildren) => { +export const LogsDatePicker = ({ + onSubmit, + helpers, + value, + buttonTriggerProps, + popoverContentProps, +}: PropsWithChildren) => { const [open, setOpen] = useState(false) // Reset the state when the popover closes @@ -230,7 +239,7 @@ export const LogsDatePicker = ({ onSubmit, helpers, value }: PropsWithChildren

-

) diff --git a/apps/studio/components/interfaces/BranchManagement/EmptyStates.tsx b/apps/studio/components/interfaces/BranchManagement/EmptyStates.tsx index ec543b4150c59..946a44e3bc449 100644 --- a/apps/studio/components/interfaces/BranchManagement/EmptyStates.tsx +++ b/apps/studio/components/interfaces/BranchManagement/EmptyStates.tsx @@ -6,6 +6,8 @@ import { BranchSelector } from './BranchSelector' import { DocsButton } from 'components/ui/DocsButton' import { Button } from 'ui' +const EMPTY_STATE_CONTAINER = 'flex items-center flex-col justify-center w-full py-10 px-4' + export const PullRequestsEmptyState = ({ url, projectRef, @@ -24,9 +26,9 @@ export const PullRequestsEmptyState = ({ gitlessBranching: boolean }) => { return ( -
+

No merge requests

-

+

Create your first merge request to merge changes back to the main branch

@@ -60,9 +62,9 @@ export const PreviewBranchesEmptyState = ({ onSelectCreateBranch: () => void }) => { return ( -
+

Create your first preview branch

-

+

Preview branches are short-lived environments that let you safely experiment with changes to your database schema without affecting your main database.

diff --git a/apps/studio/components/interfaces/BranchManagement/Overview.tsx b/apps/studio/components/interfaces/BranchManagement/Overview.tsx index b348808d86454..eebf5b7963144 100644 --- a/apps/studio/components/interfaces/BranchManagement/Overview.tsx +++ b/apps/studio/components/interfaces/BranchManagement/Overview.tsx @@ -16,6 +16,7 @@ import { useState } from 'react' import { toast } from 'sonner' import { useParams } from 'common' +import { useIsBranching2Enabled } from 'components/interfaces/App/FeaturePreview/FeaturePreviewContext' import { DropdownMenuItemTooltip } from 'components/ui/DropdownMenuItemTooltip' import { useBranchQuery } from 'data/branches/branch-query' import { useBranchResetMutation } from 'data/branches/branch-reset-mutation' @@ -23,7 +24,6 @@ import { useBranchUpdateMutation } from 'data/branches/branch-update-mutation' import type { Branch } from 'data/branches/branches-query' import { branchKeys } from 'data/branches/keys' import { useCheckPermissions } from 'hooks/misc/useCheckPermissions' -import { useIsBranching2Enabled } from 'components/interfaces/App/FeaturePreview/FeaturePreviewContext' import { Button, DropdownMenu, @@ -32,10 +32,10 @@ import { DropdownMenuTrigger, } from 'ui' import ConfirmationModal from 'ui-patterns/Dialogs/ConfirmationModal' +import TextConfirmModal from 'ui-patterns/Dialogs/TextConfirmModal' import { BranchLoader, BranchManagementSection, BranchRow, BranchRowLoader } from './BranchPanels' import { EditBranchModal } from './EditBranchModal' import { PreviewBranchesEmptyState } from './EmptyStates' -import TextConfirmModal from 'ui-patterns/Dialogs/TextConfirmModal' interface OverviewProps { isLoading: boolean @@ -99,7 +99,7 @@ export const Overview = ({ {isSuccess && persistentBranches.length === 0 && (

No persistent branches

-

+

Persistent branches are long-lived, cannot be reset, and are ideal for staging environments.

From a797ae2674e5e1c021a0ecbd26313495b6f0d5a2 Mon Sep 17 00:00:00 2001 From: Jonathan Summers-Muir Date: Thu, 17 Jul 2025 20:36:43 +0800 Subject: [PATCH 06/12] Remove 'host' field from UnifiedLogs interface (#37232) Eliminated the 'host' field from filter fields, schema definitions, and column configuration in UnifiedLogs. This streamlines the logs interface and removes unused or unnecessary data. --- .../UnifiedLogs/UnifiedLogs.fields.tsx | 22 ------------------- .../UnifiedLogs/UnifiedLogs.schema.ts | 2 -- .../UnifiedLogs/components/Columns.tsx | 16 -------------- 3 files changed, 40 deletions(-) diff --git a/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.fields.tsx b/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.fields.tsx index d16449090a61e..b0a2fad0c040d 100644 --- a/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.fields.tsx +++ b/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.fields.tsx @@ -98,22 +98,6 @@ export const filterFields = [ ) }, }, - { - label: 'Host', - value: 'host', - type: 'checkbox', - defaultOpen: false, - options: [], - hasDynamicOptions: true, - hasAsyncSearch: true, - component: (props: Option) => { - return ( - - {props.value} - - ) - }, - }, { label: 'Pathname', value: 'pathname', @@ -196,12 +180,6 @@ export const sheetFields = [ ), skeletonClassName: 'w-56', }, - { - id: 'host', - label: 'Host', - type: 'input', - skeletonClassName: 'w-24', - }, { id: 'pathname', label: 'Pathname', diff --git a/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.schema.ts b/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.schema.ts index 361308dd66025..0ec4c679a4605 100644 --- a/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.schema.ts +++ b/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.schema.ts @@ -11,7 +11,6 @@ export const columnSchema = z.object({ id: z.string(), log_type: z.enum(LOG_TYPES), method: z.enum(METHODS), - host: z.string(), pathname: z.string(), level: z.enum(LEVELS), status: z.number(), @@ -36,7 +35,6 @@ export const columnFilterSchema = z.object({ .transform((val) => val.split(ARRAY_DELIMITER)) .pipe(z.enum(METHODS).array()) .optional(), - host: z.string().optional(), pathname: z.string().optional(), status: z .string() diff --git a/apps/studio/components/interfaces/UnifiedLogs/components/Columns.tsx b/apps/studio/components/interfaces/UnifiedLogs/components/Columns.tsx index 6a24ec86799be..b8e1863fa8267 100644 --- a/apps/studio/components/interfaces/UnifiedLogs/components/Columns.tsx +++ b/apps/studio/components/interfaces/UnifiedLogs/components/Columns.tsx @@ -127,22 +127,6 @@ export const UNIFIED_LOGS_COLUMNS: ColumnDef[] = [ 'font-mono w-[--col-status-size] max-w-[--col-status-size] min-w-[--col-status-size]', }, }, - - { - accessorKey: 'host', - header: 'Host', - cell: ({ row }) => { - const value = row.getValue('host') - return - }, - enableSorting: false, - size: 220, - minSize: 220, - meta: { - cellClassName: 'font-mono w-[--col-host-size] max-w-[--col-host-size]', - headerClassName: 'min-w-[--header-host-size] w-[--header-host-size]', - }, - }, { accessorKey: 'pathname', header: 'Pathname', From fb6f625707bb837379df20545ebde31930cdd8f2 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Thu, 17 Jul 2025 14:40:12 +0200 Subject: [PATCH 07/12] chore: add docs for new db reports charts (#36703) * chore: add docs for new db reports charts * chore: fix linting issues * move db reports docs to telemetry section * add more info to reports docs * fix lint suggestions * update reports * update latest links and chart screenshots * advanced telemetry * update db section --- .../NavigationMenu.constants.ts | 4 + .../guides/database/connection-management.mdx | 26 ++ .../docs/content/guides/telemetry/reports.mdx | 309 ++++++++++++++++++ .../database/reports/cpu-usage-chart-dark.png | Bin 0 -> 27313 bytes .../reports/cpu-usage-chart-light.png | Bin 0 -> 31706 bytes .../reports/db-connections-chart-dark.png | Bin 0 -> 25258 bytes .../reports/db-connections-chart-light.png | Bin 0 -> 29392 bytes .../database/reports/disk-io-chart-dark.png | Bin 0 -> 21954 bytes .../database/reports/disk-io-chart-light.png | Bin 0 -> 25565 bytes .../database/reports/disk-iops-chart-dark.png | Bin 0 -> 24573 bytes .../reports/disk-iops-chart-light.png | Bin 0 -> 28298 bytes .../database/reports/disk-size-chart-dark.png | Bin 0 -> 32366 bytes .../reports/disk-size-chart-light.png | Bin 0 -> 37081 bytes .../reports/memory-usage-chart-dark.png | Bin 0 -> 29298 bytes .../reports/memory-usage-chart-light.png | Bin 0 -> 32627 bytes apps/studio/data/reports/database-charts.ts | 9 +- 16 files changed, 346 insertions(+), 2 deletions(-) create mode 100644 apps/docs/content/guides/telemetry/reports.mdx create mode 100644 apps/docs/public/img/database/reports/cpu-usage-chart-dark.png create mode 100644 apps/docs/public/img/database/reports/cpu-usage-chart-light.png create mode 100644 apps/docs/public/img/database/reports/db-connections-chart-dark.png create mode 100644 apps/docs/public/img/database/reports/db-connections-chart-light.png create mode 100644 apps/docs/public/img/database/reports/disk-io-chart-dark.png create mode 100644 apps/docs/public/img/database/reports/disk-io-chart-light.png create mode 100644 apps/docs/public/img/database/reports/disk-iops-chart-dark.png create mode 100644 apps/docs/public/img/database/reports/disk-iops-chart-light.png create mode 100644 apps/docs/public/img/database/reports/disk-size-chart-dark.png create mode 100644 apps/docs/public/img/database/reports/disk-size-chart-light.png create mode 100644 apps/docs/public/img/database/reports/memory-usage-chart-dark.png create mode 100644 apps/docs/public/img/database/reports/memory-usage-chart-light.png diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts index a0e9c1bacfde4..df0dfca94eef2 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts @@ -2357,6 +2357,10 @@ export const telemetry: NavMenuConstant = { name: 'Log drains', url: '/guides/telemetry/log-drains', }, + { + name: 'Reports', + url: '/guides/telemetry/reports', + }, { name: 'Metrics', url: '/guides/telemetry/metrics', diff --git a/apps/docs/content/guides/database/connection-management.mdx b/apps/docs/content/guides/database/connection-management.mdx index 4a13b4aa4e55a..bd763d7e7cffa 100644 --- a/apps/docs/content/guides/database/connection-management.mdx +++ b/apps/docs/content/guides/database/connection-management.mdx @@ -23,6 +23,32 @@ These numbers are generalizations and depends on other Supabase products that yo ### Capturing historical usage +#### Dashboard monitoring charts + +Database client connections chart + +For Teams and Enterprise plans, Supabase provides Advanced Telemetry charts directly within the Dashboard. The `Database client connections` chart displays historical connection data broken down by connection type: + +- **Postgres**: Direct connections from your application +- **PostgREST**: Connections from the PostgREST API layer +- **Reserved**: Administrative connections for Supabase services +- **Auth**: Connections from Supabase Auth service +- **Storage**: Connections from Supabase Storage service +- **Other roles**: Miscellaneous database connections + +This chart helps you monitor connection pool usage, identify connection leaks, and plan capacity. It also shows a reference line for your compute size's maximum connection limit. + +For more details on using these monitoring charts, see the [Reports guide](/docs/guides/telemetry/reports#advanced-telemetry). + +#### Grafana Dashboard + Supabase offers a Grafana Dashboard that records and visualizes over 200 project metrics, including connections. For setup instructions, check the [metrics docs](/docs/guides/platform/metrics). Its "Client Connections" graph displays connections for both Supavisor and Postgres diff --git a/apps/docs/content/guides/telemetry/reports.mdx b/apps/docs/content/guides/telemetry/reports.mdx new file mode 100644 index 0000000000000..34fbd117671a2 --- /dev/null +++ b/apps/docs/content/guides/telemetry/reports.mdx @@ -0,0 +1,309 @@ +--- +id: 'reports' +title: 'Reports' +description: 'Built-in observability for your Supabase project' +--- + +Supabase Reports provide comprehensive observability for your project through dedicated monitoring dashboards that visualize key metrics across your database, auth, storage, realtime, and API systems. Each report offers self-debugging tools to gain actionable insights for optimizing performance and troubleshooting issues. + + + +Reports are only available for projects hosted on the Supabase Cloud platform and are not available for self-hosted instances. + + + +## Using reports + +Reports can be filtered by time range to focus your analysis on specific periods. Available time ranges are gated by your organization's plan, with higher-tier plans providing access to longer historical periods. + +| Time Range | Free | Pro | Team | Enterprise | +| --------------- | ---- | --- | ---- | ---------- | +| Last 10 minutes | ✅ | ✅ | ✅ | ✅ | +| Last 30 minutes | ✅ | ✅ | ✅ | ✅ | +| Last 60 minutes | ✅ | ✅ | ✅ | ✅ | +| Last 3 hours | ✅ | ✅ | ✅ | ✅ | +| Last 24 hours | ✅ | ✅ | ✅ | ✅ | +| Last 7 days | ❌ | ✅ | ✅ | ✅ | +| Last 14 days | ❌ | ❌ | ✅ | ✅ | +| Last 28 days | ❌ | ❌ | ✅ | ✅ | + +--- + +## Database + +The Database report provides the most comprehensive view into your Postgres instance's health and performance characteristics. These charts help you identify performance bottlenecks, resource constraints, and optimization opportunities at a glance. + +The following charts are available for Free and Pro plans: + +| Chart | Available Plans | Description | Key Insights | +| ---------------------------- | --------------- | -------------------------------------------- | --------------------------------------------- | +| Memory usage | Free, Pro | RAM usage percentage by the database | Memory pressure and resource utilization | +| CPU usage | Free, Pro | Average CPU usage percentage | CPU-intensive query identification | +| Disk IOPS | Free, Pro | Read/write operations per second with limits | IO bottleneck detection and workload analysis | +| Database connections | Free, Pro | Number of pooler connections to the database | Connection pool monitoring | +| Shared Pooler connections | All | Client connections to the shared pooler | Shared pooler usage patterns | +| Dedicated Pooler connections | All | Client connections to PgBouncer | Dedicated pooler connection monitoring | + +{/* supa-mdx-lint-disable-next-line Rule001HeadingCase */} + +### Advanced Telemetry + +The following charts provide a more advanced and detailed view of your database performance and are available only for Teams and Enterprise plans. + +### Memory usage + +Memory usage chart + +| Component | Description | +| ------------------- | ------------------------------------------------------ | +| **Used** | RAM actively used by Postgres and the operating system | +| **Cache + buffers** | Memory used for page cache and Postgres buffers | +| **Free** | Available unallocated memory | + +How it helps debug issues: + +| Issue | Description | +| ------------------------------ | ------------------------------------------------ | +| Memory pressure detection | Identify when free memory is consistently low | +| Cache effectiveness monitoring | Monitor cache performance for query optimization | +| Memory leak detection | Detect inefficient memory usage patterns | + +Actions you can take: + +| Action | Description | +| ----------------------------------------------------------------------------------------------- | ---------------------------------------------- | +| [Upgrade compute size](https://supabase.com/docs/guides/platform/compute-and-disk#compute-size) | Increase available memory resources | +| Optimize queries | Reduce memory consumption of expensive queries | +| Tune Postgres configuration | Improve memory management settings | +| Implement application caching | Add query result caching to reduce memory load | + +### CPU usage + +CPU usage chart + +| Category | Description | +| ---------- | ------------------------------------------------ | +| **System** | CPU time for kernel operations | +| **User** | CPU time for database queries and user processes | +| **IOWait** | CPU time waiting for disk/network IO | +| **IRQs** | CPU time handling interrupts | +| **Other** | CPU time for miscellaneous tasks | + +How it helps debug issues: + +| Issue | Description | +| ---------------------------------- | -------------------------------------------------- | +| CPU-intensive query identification | Identify expensive queries when User CPU is high | +| IO bottleneck detection | Detect disk/network issues when IOWait is elevated | +| System overhead monitoring | Monitor resource contention and kernel overhead | + +Actions you can take: + +| Action | Description | +| -------------------------------------------------------------- | --------------------------------------------------------------------------- | +| Optimize CPU-intensive queries | Target queries causing high User CPU usage | +| Address IO bottlenecks | Resolve disk/network issues when IOWait is high | +| [Upgrade compute size](/docs/guides/platform/compute-and-disk) | Increase available CPU capacity | +| Implement proper indexing | Use [query optimization](/docs/guides/database/postgres/indexes) techniques | + +### Disk input/output operations per second (IOPS) + +Disk IOPS chart + +This chart displays read and write IOPS with a reference line showing your compute size's maximum IOPS capacity. + +How it helps debug issues: + +| Issue | Description | +| --------------------------------- | ---------------------------------------------------------------- | +| Disk IO bottleneck identification | Identify when disk IO becomes a performance constraint | +| Workload pattern analysis | Distinguish between read-heavy vs write-heavy operations | +| Performance correlation | Spot disk activity spikes that correlate with performance issues | + +Actions you can take: + +| Action | Description | +| ---------------------------------------------------------------------------------- | --------------------------------------------------------- | +| Optimize indexing | Reduce high read IOPS through better query indexing | +| Consider read replicas | Distribute read-heavy workloads across multiple instances | +| Batch write operations | Reduce write IOPS by grouping database writes | +| [Upgrade compute size](https://supabase.com/docs/guides/platform/compute-and-disk) | Increase IOPS limits with larger compute instances | + +### Disk IO Usage + +Disk IO Usage chart + +This chart displays the percentage of your allocated IOPS (Input/Output Operations Per Second) currently being used. + +How it helps debug issues: + +| Issue | Description | +| --------------------------- | ----------------------------------------------------------- | +| IOPS limit monitoring | Identify when approaching your allocated IOPS capacity | +| Performance correlation | Correlate high IO usage with application performance issues | +| Operation impact assessment | Monitor how database operations affect disk performance | + +Actions you can take: + +| Action | Description | +| ---------------------------------------------------------------------------------- | -------------------------------------------------- | +| Optimize disk-intensive queries | Reduce queries that perform excessive reads/writes | +| Add strategic indexes | Reduce sequential scans with appropriate indexing | +| [Upgrade compute size](https://supabase.com/docs/guides/platform/compute-and-disk) | Increase IOPS limits with larger compute instances | +| Review database design | Optimize schema and query patterns for efficiency | + +### Disk size + +Disk Size chart + +| Component | Description | +| ------------ | --------------------------------------------------------- | +| **Database** | Space used by your actual database data (tables, indexes) | +| **WAL** | Space used by Write-Ahead Logging | +| **System** | Reserved space for system operations | + +How it helps debug issues: + +| Issue | Description | +| ----------------------------- | ------------------------------------------- | +| Space consumption monitoring | Track disk usage trends over time | +| Growth pattern identification | Identify rapid growth requiring attention | +| Capacity planning | Plan upgrades before hitting storage limits | + +Actions you can take: + +| Action | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------- | +| Run [VACUUM](https://www.postgresql.org/docs/current/sql-vacuum.html) operations | Reclaim dead tuple space and optimize storage | +| Analyze large tables | Use CLI commands like `table-sizes` to identify optimization targets | +| Implement data archival | Archive historical data to reduce active storage needs | +| [Upgrade disk size](https://supabase.com/docs/guides/platform/database-size) | Increase storage capacity when approaching limits | + +### Database connections + +Database connections chart + +| Connection Type | Description | +| --------------- | ------------------------------------------------ | +| **Postgres** | Direct connections from your application | +| **PostgREST** | Connections from the PostgREST API layer | +| **Reserved** | Administrative connections for Supabase services | +| **Auth** | Connections from Supabase Auth service | +| **Storage** | Connections from Supabase Storage service | +| **Other roles** | Miscellaneous database connections | + +How it helps debug issues: + +| Issue | Description | +| ------------------------------- | ----------------------------------------------------------- | +| Connection pool exhaustion | Identify when approaching maximum connection limits | +| Connection leak detection | Spot applications not properly closing connections | +| Service distribution monitoring | Monitor connection usage across different Supabase services | + +Actions you can take: + +| Action | Description | +| -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| [Upgrade compute size](https://supabase.com/docs/guides/platform/compute-and-disk#compute-size) | Increase maximum connection limits | +| Implement [connection pooling](https://supabase.com/docs/guides/database/connecting-to-postgres#shared-pooler) | Optimize connection management for high direct connection usage | +| Review application code | Ensure proper connection handling and cleanup | + +## Auth + +The Auth report focuses on user authentication patterns and behaviors within your Supabase project. + +| Chart | Description | Key Insights | +| ------------------------ | --------------------------------------------- | ----------------------------------------------- | +| Active Users | Count of unique users performing auth actions | User engagement and retention patterns | +| Sign In Attempts by Type | Breakdown of authentication methods used | Password vs OAuth vs magic link preferences | +| Sign Ups | Total new user registrations | Growth trends and onboarding funnel performance | +| Auth Errors | Error rates grouped by status code | Authentication friction and security issues | +| Password Reset Requests | Volume of password recovery attempts | User experience pain points | + +## Storage + +The Storage report provides visibility into how your Supabase Storage is being utilized, including request patterns, performance characteristics, and caching effectiveness. + +| Chart | Description | Key Insights | +| --------------- | ------------------------------------------ | ------------------------------------------------------ | +| Total Requests | Overall request volume to Storage | Traffic patterns and usage trends | +| Response Speed | Average response time for storage requests | Performance bottlenecks and optimization opportunities | +| Network Traffic | Ingress and egress bandwidth usage | Data transfer costs and CDN effectiveness | +| Request Caching | Cache hit rates and miss patterns | CDN performance and cost optimization | +| Top Routes | Most frequently accessed storage paths | Popular content and usage patterns | + +## Realtime + +The Realtime report tracks WebSocket connections, channel activity, and real-time event patterns in your Supabase project. + +| Chart | Description | Key Insights | +| --------------------- | ------------------------------------------------------------- | ------------------------------------------------- | +| Realtime Connections | Active WebSocket connections over time | Concurrent user activity and connection stability | +| Channel Events | Breakdown of broadcast, Postgres changes, and presence events | Real-time feature usage patterns | +| Rate of Channel Joins | Frequency of new channel subscriptions | User engagement with real-time features | +| Total Requests | HTTP requests to Realtime endpoints | API usage alongside WebSocket activity | +| Response Speed | Performance of Realtime API endpoints | Infrastructure optimization opportunities | + +## Edge Functions + +The Edge Functions report provides insights into serverless function performance, execution patterns, and regional distribution across Supabase's global edge network. + +| Chart | Description | Key Insights | +| ---------------------- | ----------------------------------------- | ---------------------------------------------- | +| Execution Status Codes | Function response codes and error rates | Function reliability and error patterns | +| Execution Time | Average function duration and performance | Performance optimization opportunities | +| Invocations by Region | Geographic distribution of function calls | Global usage patterns and latency optimization | + +## API gateway + +The API Gateway report analyzes traffic patterns and performance characteristics of requests flowing through your Supabase project's API layer. + +| Chart | Description | Key Insights | +| --------------- | ----------------------------------------- | ------------------------------------------------ | +| Total Requests | Overall API request volume | Traffic patterns and growth trends | +| Response Errors | Error rates with 4XX and 5XX status codes | API reliability and user experience issues | +| Response Speed | Average API response times | Performance bottlenecks and optimization targets | +| Network Traffic | Request and response bandwidth usage | Data transfer patterns and cost implications | +| Top Routes | Most frequently accessed API endpoints | Usage patterns and optimization priorities | diff --git a/apps/docs/public/img/database/reports/cpu-usage-chart-dark.png b/apps/docs/public/img/database/reports/cpu-usage-chart-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..191ae8316535525ec803841b95d4cc94adfa723d GIT binary patch literal 27313 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/database/reports/cpu-usage-chart-light.png b/apps/docs/public/img/database/reports/cpu-usage-chart-light.png new file mode 100644 index 0000000000000000000000000000000000000000..0b688ec967df15bc52ce3f9c7838525fb1cb9135 GIT binary patch literal 31706 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 Qy8flDp|4)8X7lp@0_Jc~82|tP literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/database/reports/db-connections-chart-dark.png b/apps/docs/public/img/database/reports/db-connections-chart-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..44d7f75f02d64d03a7f3c7dcbb3118edba0cc013 GIT binary patch literal 25258 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/database/reports/disk-io-chart-light.png b/apps/docs/public/img/database/reports/disk-io-chart-light.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb835474c5750665d70321494259572675f8629 GIT binary patch literal 25565 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
  • Re)C-4y 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/database/reports/disk-size-chart-dark.png b/apps/docs/public/img/database/reports/disk-size-chart-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..beb3df95327d16a0064cffd03d9abff84ff653a3 GIT binary patch literal 32366 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 bLxR>$=x@*GSyq@w6~JQ^ZRL81O~n5J%&XUU literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/database/reports/disk-size-chart-light.png b/apps/docs/public/img/database/reports/disk-size-chart-light.png new file mode 100644 index 0000000000000000000000000000000000000000..8a1fa264a574e764899f9335aa60d844725609e0 GIT binary patch literal 37081 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 RF5u9|0)N4z%=r3)e*;imGLQfO literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/database/reports/memory-usage-chart-dark.png b/apps/docs/public/img/database/reports/memory-usage-chart-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..93b6d401930011a16a843a60e3ee11b9039d120e GIT binary patch literal 29298 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 CiL!zK literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/database/reports/memory-usage-chart-light.png b/apps/docs/public/img/database/reports/memory-usage-chart-light.png new file mode 100644 index 0000000000000000000000000000000000000000..006626c2027205494f4ca93d2ec119ca016f28ba GIT binary patch literal 32627 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 Rep { id: 'ram-usage', label: 'Memory usage', + docsUrl: 'https://supabase.com/docs/guides/telemetry/reports#memory-usage', availableIn: ['team', 'enterprise'], hide: false, showTooltip: true, @@ -240,6 +241,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep { id: 'cpu-usage', label: 'CPU usage', + docsUrl: 'https://supabase.com/docs/guides/telemetry/reports#cpu-usage', syncId: 'database-reports', format: '%', valuePrecision: 2, @@ -308,6 +310,8 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep { id: 'disk-iops', label: 'Disk Input/Output operations per second (IOPS)', + docsUrl: + 'https://supabase.com/docs/guides/telemetry/reports#disk-inputoutput-operations-per-second-iops', syncId: 'database-reports', availableIn: ['team', 'enterprise'], hide: false, @@ -322,7 +326,6 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep tickFormatter: (value: any) => numberFormatter(value, 2), }, defaultChartStyle: 'line', - docsUrl: 'https://supabase.com/docs/guides/platform/compute-and-disk#compute-size', attributes: [ { attribute: 'disk_iops_write', @@ -352,6 +355,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep { id: 'disk-io-usage', label: 'Disk IO Usage', + docsUrl: 'https://supabase.com/docs/guides/telemetry/reports#disk-io-usage', syncId: 'database-reports', availableIn: ['team', 'enterprise'], hide: false, @@ -391,6 +395,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep showGrid: true, YAxisProps: { width: 30 }, defaultChartStyle: 'line', + docsUrl: 'https://supabase.com/docs/guides/telemetry/reports#database-connections', attributes: [ { attribute: 'client_connections_postgres', @@ -512,7 +517,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep }, hideChartType: false, defaultChartStyle: 'line', - docsUrl: 'https://supabase.com/docs/guides/platform/database-size', + docsUrl: 'https://supabase.com/docs/guides/telemetry/reports#disk-size', attributes: [ { attribute: 'disk_fs_used_system', From eb0106179ea7d0a24738020cd9c530205552f137 Mon Sep 17 00:00:00 2001 From: Jonathan Summers-Muir Date: Thu, 17 Jul 2025 21:02:31 +0800 Subject: [PATCH 08/12] Add dynamic column generation for UnifiedLogs table (#37239) * Remove 'host' field from UnifiedLogs interface Eliminated the 'host' field from filter fields, schema definitions, and column configuration in UnifiedLogs. This streamlines the logs interface and removes unused or unnecessary data. * Add dynamic column generation for UnifiedLogs table Replaces static column definitions with a dynamic generator that hides columns when all their values are empty. The UnifiedLogs table now adapts its columns based on the current data, improving readability and relevance. * Update Columns.tsx * Update Columns.tsx * Add column width classes to UnifiedLogs columns Added explicit cell and header class names for column widths in the UnifiedLogs table to ensure consistent sizing and improve layout control. * Update Columns.tsx * Refactor dynamic columns to include visibility state The dynamic columns generator now returns both columns and their visibility state, allowing UnifiedLogs to merge dynamic visibility with existing column visibility. This improves control over which columns are shown based on the data. --- .../interfaces/UnifiedLogs/UnifiedLogs.tsx | 11 +- .../UnifiedLogs/components/Columns.tsx | 369 ++++++++++-------- 2 files changed, 212 insertions(+), 168 deletions(-) diff --git a/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.tsx b/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.tsx index 6683e4db27c9a..3c8ee438661e6 100644 --- a/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.tsx +++ b/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.tsx @@ -41,7 +41,7 @@ import { Separator, } from 'ui' import { RefreshButton } from '../../ui/DataTable/RefreshButton' -import { UNIFIED_LOGS_COLUMNS } from './components/Columns' +import { generateDynamicColumns, UNIFIED_LOGS_COLUMNS } from './components/Columns' import { DownloadLogsButton } from './components/DownloadLogsButton' import { LogsListPanel } from './components/LogsListPanel' import { ServiceFlowPanel } from './ServiceFlowPanel' @@ -165,13 +165,18 @@ export const UnifiedLogs = () => { return cn(levelClassName, isPast ? 'opacity-50' : 'opacity-100', 'h-[30px]') } + // Generate dynamic columns based on current data + const { columns: dynamicColumns, columnVisibility: dynamicColumnVisibility } = useMemo(() => { + return generateDynamicColumns(flatData) + }, [flatData]) + const table: Table = useReactTable({ data: flatData, - columns: UNIFIED_LOGS_COLUMNS, + columns: dynamicColumns, state: { columnFilters, sorting, - columnVisibility, + columnVisibility: { ...columnVisibility, ...dynamicColumnVisibility }, rowSelection, columnOrder, }, diff --git a/apps/studio/components/interfaces/UnifiedLogs/components/Columns.tsx b/apps/studio/components/interfaces/UnifiedLogs/components/Columns.tsx index b8e1863fa8267..421bcd8935e93 100644 --- a/apps/studio/components/interfaces/UnifiedLogs/components/Columns.tsx +++ b/apps/studio/components/interfaces/UnifiedLogs/components/Columns.tsx @@ -10,176 +10,215 @@ import { HoverCardTimestamp } from './HoverCardTimestamp' import { LogTypeIcon } from './LogTypeIcon' import { TextWithTooltip } from './TextWithTooltip' -export const UNIFIED_LOGS_COLUMNS: ColumnDef[] = [ - { - accessorKey: 'level', - header: '', - cell: ({ row }) => { - const level = row.getValue('level') - return - }, - enableHiding: false, - enableResizing: false, - enableSorting: false, - filterFn: (row, columnId, filterValue) => true, - size: 48, - minSize: 48, - maxSize: 48, - meta: { - headerClassName: - 'w-[--header-level-size] max-w-[--header-level-size] min-w-[--header-level-size]', - cellClassName: 'w-[--col-level-size] max-w-[--col-level-size] min-w-[--col-level-size]', - }, - }, - { - accessorKey: 'date', - header: ({ column }) => , - cell: ({ row }) => { - const date = new Date(row.getValue('date')) - return - }, - filterFn: (row, columnId, filterValue) => true, - enableResizing: false, - enableSorting: false, - size: 130, - minSize: 130, - maxSize: 130, - meta: { - headerClassName: - 'w-[--header-date-size] max-w-[--header-date-size] min-w-[--header-date-size]', - cellClassName: - 'font-mono w-[--col-date-size] max-w-[--col-date-size] min-w-[--col-date-size]', - }, - }, - { - accessorKey: 'log_type', - header: '', - cell: ({ row }) => { - const logType = row.getValue('log_type') - return ( -
    - -
    - ) - }, - enableHiding: false, - filterFn: (row, columnId, filterValue) => true, - size: 40, - minSize: 40, - maxSize: 40, - enableResizing: false, - enableSorting: false, - meta: { - headerClassName: - 'w-[--header-log_type-size] max-w-[--header-log_type-size] min-w-[--header-log_type-size]', - cellClassName: - 'text-right px-0 relative justify-end items-center font-mono w-[--col-log_type-size] max-w-[--col-log_type-size] min-w-[--col-log_type-size]', - }, - }, - { - // TODO: make it a type of MethodSchema! - accessorKey: 'method', - header: 'Method', - filterFn: 'arrIncludesSome', - cell: ({ row }) => { - const value = row.getValue('method') - return {value} +/** + * Determines if a column should be hidden based on its values in the data. + * Returns true if all values for the specified columnKey are empty, null, or undefined. + * Returns false if data is empty or if any value is present. + * + * @param data - Array of data rows to check + * @param columnKey - The key of the column to check for emptiness + * @returns boolean - true if column should be hidden, false otherwise + */ +function shouldHideColumn(data: ColumnSchema[], columnKey: keyof ColumnSchema): boolean { + // If there is no data or the data array is empty, do not hide the column + if (!data || data.length === 0) return false + + // Check if every row has an empty, null, or undefined value for the given columnKey + return data.every((row) => { + const value = row[columnKey] + return !value || value === '' || value === null || value === undefined + }) +} + +// Generate dynamic columns based on data +export function generateDynamicColumns(data: ColumnSchema[]): { + columns: ColumnDef[] + columnVisibility: Record +} { + const hideMethod = shouldHideColumn(data, 'method') + const hidePathname = shouldHideColumn(data, 'pathname') + const hideEventMessage = shouldHideColumn(data, 'event_message') + + const columns: ColumnDef[] = [ + // Level column - always visible + { + accessorKey: 'level', + header: '', + cell: ({ row }) => { + const level = row.getValue('level') + return + }, + enableHiding: false, + enableResizing: false, + enableSorting: false, + filterFn: (row, columnId, filterValue) => true, + size: 48, + minSize: 48, + maxSize: 48, + meta: { + cellClassName: 'w-[32px]', + headerClassName: 'w-[32px]', + }, }, - enableResizing: false, - enableSorting: false, - size: 70, - minSize: 70, - meta: { - cellClassName: - 'font-mono text-muted-foreground w-[--col-method-size] max-w-[--col-method-size] min-w-[--col-method-size]', - headerClassName: - 'w-[--header-method-size] max-w-[--header-method-size] min-w-[--header-method-size]', + // Date column - always visible + { + accessorKey: 'date', + header: ({ column }) => , + cell: ({ row }) => { + const date = new Date(row.getValue('date')) + return + }, + filterFn: (row, columnId, filterValue) => true, + enableResizing: false, + enableSorting: false, + size: 130, + minSize: 130, + maxSize: 130, + meta: { + cellClassName: 'font-mono w-[130px]', + headerClassName: 'w-[130px]', + }, }, - }, - { - accessorKey: 'status', - header: '', - cell: ({ row }) => { - const value = row.getValue('status') - return ( -
    - {row.original.auth_user && ( -
    - -
    - )} - ('level')} - /> -
    - ) + // Log type column - always visible + { + accessorKey: 'log_type', + header: '', + cell: ({ row }) => { + const logType = row.getValue('log_type') + return ( +
    + +
    + ) + }, + enableHiding: false, + filterFn: (row, columnId, filterValue) => true, + enableResizing: false, + enableSorting: false, + size: 40, + minSize: 40, + maxSize: 40, + meta: { + cellClassName: 'w-[32px]', + headerClassName: 'w-[32px]', + }, }, - filterFn: (row, columnId, filterValue) => true, - enableResizing: false, - enableSorting: false, - size: 55, - minSize: 55, - meta: { - headerClassName: - 'w-[--header-status-size] max-w-[--header-status-size] min-w-[--header-status-size]', - cellClassName: - 'font-mono w-[--col-status-size] max-w-[--col-status-size] min-w-[--col-status-size]', + // Status column - always visible + { + accessorKey: 'status', + header: '', + cell: ({ row }) => { + const value = row.getValue('status') + return ( +
    + {/* {row.original.auth_user && ( + // to do: add auth user hover card +
    + +
    + )} */} + ('level')} + /> +
    + ) + }, + filterFn: (row, columnId, filterValue) => true, + enableResizing: false, + enableSorting: false, + size: 70, + minSize: 70, + maxSize: 70, + meta: { + cellClassName: 'w-[70px]', + headerClassName: 'w-[70px]', + }, }, - }, - { - accessorKey: 'pathname', - header: 'Pathname', - cell: ({ row }) => { - const value = row.getValue('pathname') ?? '' - return + // Method column - controlled by columnVisibility + { + accessorKey: 'method', + header: 'Method', + filterFn: 'arrIncludesSome', + cell: ({ row }) => { + const value = row.getValue('method') + return {value} + }, + enableResizing: false, + enableSorting: false, + size: 70, + minSize: 70, + maxSize: 70, + meta: { + cellClassName: 'w-[70px]', + headerClassName: 'w-[70px]', + }, }, - enableSorting: false, - size: 320, - minSize: 320, - meta: { - cellClassName: 'font-mono w-[--col-pathname-size] max-w-[--col-pathname-size]', - headerClassName: 'min-w-[--header-pathname-size] w-[--header-pathname-size]', + // Pathname column - controlled by columnVisibility + { + accessorKey: 'pathname', + header: 'Pathname', + cell: ({ row }) => { + const value = row.getValue('pathname') ?? '' + return + }, + enableSorting: false, + enableResizing: false, + size: 200, + minSize: 200, + maxSize: 200, + meta: { + cellClassName: 'max-w-[320px]', + headerClassName: 'max-w-[320px]', + }, }, - }, - { - accessorKey: 'event_message', - header: ({ column }) => , - cell: ({ row }) => { - const value = row.getValue('event_message') - const logCount = row.original.log_count + // Event message column - controlled by columnVisibility + { + accessorKey: 'event_message', + header: ({ column }) => , + cell: ({ row }) => { + const value = row.getValue('event_message') + const logCount = row.original.log_count - return ( -
    - {logCount && ( - - - - {logCount} - - - - {logCount} {logCount === 1 ? 'log' : 'logs'} for this execution - - - )} - {value && ( - - - - )} -
    - ) - }, - enableResizing: true, - enableSorting: false, - size: 200, - minSize: 200, - meta: { - headerClassName: - 'w-[--header-event_message-size] max-w-[--header-event_message-size] min-w-[--header-event_message-size]', - cellClassName: - 'font-mono w-[--col-event_message-size] max-w-[--col-event_message-size] min-w-[--col-event_message-size]', + return ( +
    + {logCount && ( + + + + {logCount} + + + + {logCount} {logCount === 1 ? 'log' : 'logs'} for this execution + + + )} + {value && ( + + + + )} +
    + ) + }, + enableResizing: true, + enableSorting: false, + size: 200, + minSize: 200, + maxSize: 400, }, - }, -] + ] + + // Define column visibility based on data + const columnVisibility = { + method: !hideMethod, + pathname: !hidePathname, + event_message: !hideEventMessage, + } + + return { columns, columnVisibility } +} + +// Static fallback columns +export const UNIFIED_LOGS_COLUMNS: ColumnDef[] = generateDynamicColumns([]).columns From 09fc7776b5cbce4a8a71ab5409b6a2aadaef4ae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cemal=20K=C4=B1l=C4=B1=C3=A7?= Date: Thu, 17 Jul 2025 15:45:44 +0200 Subject: [PATCH 09/12] feat: update auth sign in report query (#37240) * feat: update auth sign in report query * fix chart config * fix type error for custom properties in chart attributes --------- Co-authored-by: Jordi Enric --- .../ui/Charts/ComposedChart.utils.tsx | 1 + apps/studio/data/reports/auth-charts.ts | 8 ++--- apps/studio/data/reports/auth-report-query.ts | 35 +++++++++++++------ 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/apps/studio/components/ui/Charts/ComposedChart.utils.tsx b/apps/studio/components/ui/Charts/ComposedChart.utils.tsx index d7151ff115bc3..14161b06fd323 100644 --- a/apps/studio/components/ui/Charts/ComposedChart.utils.tsx +++ b/apps/studio/components/ui/Charts/ComposedChart.utils.tsx @@ -55,6 +55,7 @@ export type MultiAttribute = { omitFromTotal?: boolean tooltip?: string customValue?: number + [key: string]: any /** * Manipulate the value of the attribute before it is displayed on the chart. * @param value - The value of the attribute. diff --git a/apps/studio/data/reports/auth-charts.ts b/apps/studio/data/reports/auth-charts.ts index 27965738927c6..14676a0b23c8f 100644 --- a/apps/studio/data/reports/auth-charts.ts +++ b/apps/studio/data/reports/auth-charts.ts @@ -29,28 +29,28 @@ export const getAuthReportAttributes = (isFreePlan: boolean) => [ attribute: 'SignInAttempts', provider: 'logs', label: 'Password', - grantType: 'password', + login_type_provider: 'password', enabled: true, }, { attribute: 'SignInAttempts', provider: 'logs', label: 'PKCE', - grantType: 'pkce', + login_type_provider: 'pkce', enabled: true, }, { attribute: 'SignInAttempts', provider: 'logs', label: 'Refresh Token', - grantType: 'refresh_token', + login_type_provider: 'token', enabled: true, }, { attribute: 'SignInAttempts', provider: 'logs', label: 'ID Token', - grantType: 'id_token', + login_type_provider: 'id_token', enabled: true, }, ], diff --git a/apps/studio/data/reports/auth-report-query.ts b/apps/studio/data/reports/auth-report-query.ts index 99f6ec0c35247..f1d7f7cfd8790 100644 --- a/apps/studio/data/reports/auth-report-query.ts +++ b/apps/studio/data/reports/auth-report-query.ts @@ -64,14 +64,29 @@ const METRIC_SQL: Record string> = { const granularity = analyticsIntervalToGranularity(interval) return ` --sign-in-attempts - select + SELECT timestamp_trunc(timestamp, ${granularity}) as timestamp, - json_value(event_message, "$.grant_type") as grant_type, - count(*) as count - from auth_logs - where json_value(event_message, "$.path") = '/token' - group by timestamp, grant_type - order by timestamp desc, grant_type + CASE + WHEN JSON_VALUE(event_message, "$.provider") IS NOT NULL + AND JSON_VALUE(event_message, "$.provider") != '' + THEN CONCAT( + JSON_VALUE(event_message, "$.login_method"), + ' (', + JSON_VALUE(event_message, "$.provider"), + ')' + ) + ELSE JSON_VALUE(event_message, "$.login_method") + END as login_type_provider, + COUNT(*) as count + FROM + auth_logs + WHERE + JSON_VALUE(event_message, "$.action") = 'login' + AND JSON_VALUE(event_message, "$.metering") = "true" + GROUP BY + timestamp, login_type_provider + ORDER BY + timestamp desc, login_type_provider ` }, PasswordResetRequests: (interval) => { @@ -196,8 +211,8 @@ const METRIC_FORMATTER: Record< ActiveUsers: (rawData, attributes) => defaultFormatter(rawData, attributes), SignInAttempts: (rawData, attributes) => { const chartAttributes = attributes.map((attr) => { - if (attr.attribute === 'SignInAttempts' && attr.grantType) { - return { ...attr, attribute: `${attr.attribute}_${attr.grantType}` } + if (attr.attribute === 'SignInAttempts' && attr.login_type_provider) { + return { ...attr, attribute: `${attr.attribute}_${attr.login_type_provider}` } } return attr }) @@ -213,7 +228,7 @@ const METRIC_FORMATTER: Record< }) const matchingPoints = result.filter((p: any) => p.timestamp === timestamp) matchingPoints.forEach((p: any) => { - point[`SignInAttempts_${p.grant_type}`] = p.count + point[`SignInAttempts_${p.login_type_provider}`] = p.count }) return point }) From 7d5dd5b6beee782c175f147e06b0b2dd03a2578f Mon Sep 17 00:00:00 2001 From: Jonathan Summers-Muir Date: Thu, 17 Jul 2025 21:49:04 +0800 Subject: [PATCH 10/12] Chore/logs reloading state (#37252) * Add loading opacity and keep previous data for logs Wrapped TimelineChart and DataTableInfinite in divs with opacity transition during data fetching for improved UX. Added keepPreviousData: true to unified logs chart, count, and infinite queries to retain previous data while fetching new results. * Remove keepPreviousData from logs count query The keepPreviousData option was removed from the useUnifiedLogsCountQuery hook to rely on default query behavior or custom options. This may affect how data is retained between queries. * Update UnifiedLogs.tsx * Refactor TimelineChart opacity handling Moved opacity and transition classes from a wrapping div directly to the TimelineChart component for cleaner structure and improved conditional styling. --- .../interfaces/UnifiedLogs/UnifiedLogs.tsx | 19 +++++++++++++++++-- .../data/logs/unified-logs-chart-query.ts | 1 + .../data/logs/unified-logs-infinite-query.ts | 1 + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.tsx b/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.tsx index 3c8ee438661e6..739270c7ec712 100644 --- a/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.tsx +++ b/apps/studio/components/interfaces/UnifiedLogs/UnifiedLogs.tsx @@ -100,6 +100,8 @@ export const UnifiedLogs = () => { data: unifiedLogsData, isLoading, isFetching, + isFetchingNextPage, + isFetchingPreviousPage, hasNextPage, refetch: refetchLogs, fetchNextPage, @@ -131,6 +133,9 @@ export const UnifiedLogs = () => { const isRefetchingData = isFetching || isFetchingCounts || isFetchingCharts + // Only fade when filtering (not when loading more data or live mode) + const isFetchingButNotPaginating = isFetching && !isFetchingNextPage && !isFetchingPreviousPage + const rawFlatData = useMemo(() => { return unifiedLogsData?.pages?.flatMap((page) => page.data ?? []) ?? [] }, [unifiedLogsData?.pages]) @@ -336,7 +341,10 @@ export const UnifiedLogs = () => { /> @@ -351,7 +359,14 @@ export const UnifiedLogs = () => { className="h-full" > - + ( ({ signal }) => getUnifiedLogsChart({ projectRef, search }, signal), { enabled: enabled && typeof projectRef !== 'undefined', + keepPreviousData: true, ...UNIFIED_LOGS_QUERY_OPTIONS, ...options, } diff --git a/apps/studio/data/logs/unified-logs-infinite-query.ts b/apps/studio/data/logs/unified-logs-infinite-query.ts index c8e04f258ef14..6c58cfee83c7a 100644 --- a/apps/studio/data/logs/unified-logs-infinite-query.ts +++ b/apps/studio/data/logs/unified-logs-infinite-query.ts @@ -168,6 +168,7 @@ export const useUnifiedLogsInfiniteQuery = ( }, { enabled: enabled && typeof projectRef !== 'undefined', + keepPreviousData: true, getPreviousPageParam: (firstPage) => { if (!firstPage.prevCursor) return null const result = { cursor: firstPage.prevCursor, direction: 'prev' } From 5e15856d132215b15b6d46d57847ad75c3763861 Mon Sep 17 00:00:00 2001 From: Francesco Sansalvadore Date: Thu, 17 Jul 2025 16:00:05 +0200 Subject: [PATCH 11/12] d4 (#37241) * d4 init * blog post * og and thumb * revert typo * blog updates * update authors * update images * update text * update position --------- Co-authored-by: Inian --- ...new-observability-features-in-supabase.mdx | 136 ++++++++++++++++++ apps/www/components/Hero/Hero.tsx | 4 +- .../LaunchWeek/15/LW15MainStage.tsx | 2 +- .../LaunchWeek/15/data/lw15_data.tsx | 12 +- apps/www/lib/authors.json | 2 +- .../day-4-o11y-day/ai-debugging-dark.png | Bin 0 -> 37302 bytes .../day-4-o11y-day/ai-debugging-light.png | Bin 0 -> 40520 bytes .../ai-recommendations-dark.png | Bin 0 -> 18205 bytes .../ai-recommendations-light.png | Bin 0 -> 18594 bytes .../day-4-o11y-day/contextual-logs-dark.png | Bin 0 -> 284999 bytes .../day-4-o11y-day/contextual-logs-light.png | Bin 0 -> 275011 bytes .../blog/launch-week-15/day-4-o11y-day/og.png | Bin 0 -> 189957 bytes .../day-4-o11y-day/reports-dark.png | Bin 0 -> 22311 bytes .../day-4-o11y-day/reports-light.png | Bin 0 -> 26479 bytes .../launch-week-15/day-4-o11y-day/thumb.png | Bin 0 -> 45230 bytes .../day-4-o11y-day/unified-logs-dark.png | Bin 0 -> 266206 bytes .../day-4-o11y-day/unified-logs-light.png | Bin 0 -> 262086 bytes apps/www/public/rss.xml | 9 +- packages/ui-patterns/src/Banners/data.json | 6 +- 19 files changed, 157 insertions(+), 14 deletions(-) create mode 100644 apps/www/_blog/2025-07-17-new-observability-features-in-supabase.mdx create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-debugging-dark.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-debugging-light.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-recommendations-dark.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/ai-recommendations-light.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/contextual-logs-dark.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/contextual-logs-light.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/og.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/reports-dark.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/reports-light.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/thumb.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/unified-logs-dark.png create mode 100644 apps/www/public/images/blog/launch-week-15/day-4-o11y-day/unified-logs-light.png diff --git a/apps/www/_blog/2025-07-17-new-observability-features-in-supabase.mdx b/apps/www/_blog/2025-07-17-new-observability-features-in-supabase.mdx new file mode 100644 index 0000000000000..32baea632f46a --- /dev/null +++ b/apps/www/_blog/2025-07-17-new-observability-features-in-supabase.mdx @@ -0,0 +1,136 @@ +--- +title: 'New Observability Features in Supabase' +description: 'New unified logging, advanced reports, and AI debugging capabilities.' +categories: + - product + - launch-week +tags: + - launch-week + - studio +date: '2025-07-17:00:00' +toc_depth: 3 +author: jonny,saxon_fletcher,jordi,fsansalvadore +image: launch-week-15/day-4-o11y-day/og.jpg +thumb: launch-week-15/day-4-o11y-day/thumb.png +launchweek: 15 +--- + +We are starting to add OpenTelemetry support to [all](https://github.com/supabase/storage/pull/494) [our](https://github.com/supabase/auth/pull/679) [core](https://github.com/supabase/edge-runtime/pull/554) [products](https://github.com/supabase/realtime/commit/c9683f3f5f94bd2e37494f02c1f4415551e96e5b) and [our Telemetry server](https://github.com/Logflare/logflare/pulls?q=is%3Apr+otel+sort%3Acreated-asc). OpenTelemetry (OTel) standardizes logs, metrics, and traces in a vendor-agnostic format, so you can ingest data into tools like Datadog, Honeycomb, or any monitoring solution you already use. While you'll still have the freedom to bring your own observability stack, we're preparing to surface this data natively in the Supabase dashboard. + +Today we are launching + +- Preview of our new logging Interface +- Advanced Product Reports +- Supabase AI Assistant with debugging capabilities + +These updates mark the first step toward unified, end-to-end observability. You won't get the full OTel visualization just yet, but with these foundations in place, you'll soon be able to trace, analyze errors and performance issues, and troubleshoot your entire stack without leaving Supabase. + +
    +