WithMonitor() — supabase Function Reference
Architecture documentation for the WithMonitor() function in WithMonitor.tsx from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD 8afea200_94fd_d6c2_5605_0880960a2b8b["WithMonitor()"] 52ebd51a_00f5_f874_a337_97608d009760["getPgStatMonitorLogsQuery()"] 8afea200_94fd_d6c2_5605_0880960a2b8b -->|calls| 52ebd51a_00f5_f874_a337_97608d009760 7d3b6c56_2019_706a_2ad2_cc9303860408["parsePgStatMonitorLogs()"] 8afea200_94fd_d6c2_5605_0880960a2b8b -->|calls| 7d3b6c56_2019_706a_2ad2_cc9303860408 feb777f2_18e6_9259_8223_be4c3687a513["transformLogsToChartData()"] 8afea200_94fd_d6c2_5605_0880960a2b8b -->|calls| feb777f2_18e6_9259_8223_be4c3687a513 463d9b1b_4c86_b763_848a_1c62d2508795["aggregateLogsByQuery()"] 8afea200_94fd_d6c2_5605_0880960a2b8b -->|calls| 463d9b1b_4c86_b763_848a_1c62d2508795 e5a814f1_277b_493f_d4bd_8f8fcbe5f72f["captureQueryPerformanceError()"] 8afea200_94fd_d6c2_5605_0880960a2b8b -->|calls| e5a814f1_277b_493f_d4bd_8f8fcbe5f72f style 8afea200_94fd_d6c2_5605_0880960a2b8b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/studio/components/interfaces/QueryPerformance/WithMonitor/WithMonitor.tsx lines 33–141
export const WithMonitor = ({ dateRange, onDateRangeChange }: WithMonitorProps) => {
const { ref } = useParams()
const { data: project } = useSelectedProjectQuery()
const state = useDatabaseSelectorStateSnapshot()
const [selectedQuery, setSelectedQuery] = useState<string | null>(null)
// [kemal]: Fetch pg_stat_monitor logs. This will need to change when we move to the actual extension.
const effectiveDateRange = useMemo(() => {
if (dateRange) {
return {
iso_timestamp_start: dateRange.period_start.date,
iso_timestamp_end: dateRange.period_end.date,
}
}
// [kemal]: Fallback to default 24 hours
const end = dayjs.utc()
const start = end.subtract(24, 'hours')
return {
iso_timestamp_start: start.toISOString(),
iso_timestamp_end: end.toISOString(),
}
}, [dateRange])
const queryWithTimeRange = useMemo(() => {
return getPgStatMonitorLogsQuery(
effectiveDateRange.iso_timestamp_start,
effectiveDateRange.iso_timestamp_end
)
}, [effectiveDateRange])
const pgStatMonitorLogs = useLogsQuery(ref as string, {
sql: queryWithTimeRange,
iso_timestamp_start: effectiveDateRange.iso_timestamp_start,
iso_timestamp_end: effectiveDateRange.iso_timestamp_end,
})
const { logData, isLoading: isLogsLoading, error: logsError } = pgStatMonitorLogs
const parsedLogs = useMemo(() => {
return parsePgStatMonitorLogs(logData || [])
}, [logData])
const chartData = useMemo(() => {
return transformLogsToChartData(parsedLogs)
}, [parsedLogs])
const aggregatedGridData = useMemo(() => {
return aggregateLogsByQuery(parsedLogs)
}, [parsedLogs])
const handleSelectQuery = (query: string) => {
setSelectedQuery((prev) => (prev === query ? null : query))
}
const handleRetry = () => {
pgStatMonitorLogs.runQuery()
}
useEffect(() => {
if (logsError) {
const errorMessage = getErrorMessage(logsError)
captureQueryPerformanceError(logsError, {
projectRef: ref,
databaseIdentifier: state.selectedDatabaseId,
queryPreset: 'pg_stat_monitor',
queryType: 'monitor',
postgresVersion: project?.dbVersion,
databaseType: state.selectedDatabaseId === ref ? 'primary' : 'read-replica',
sql: queryWithTimeRange,
errorMessage: errorMessage || undefined,
})
}
}, [logsError, ref, state.selectedDatabaseId, project?.dbVersion, queryWithTimeRange])
return (
<>
<QueryPerformanceChart
dateRange={dateRange}
onDateRangeChange={onDateRangeChange}
chartData={chartData}
isLoading={isLogsLoading}
error={logsError}
currentSelectedQuery={selectedQuery}
parsedLogs={parsedLogs}
/>
<QueryPerformanceFilterBar
actions={
<DownloadResultsButton
results={aggregatedGridData}
fileName={`Supabase Query Performance Monitor (${ref})`}
align="end"
/>
}
/>
<LoadingLine loading={isLogsLoading} />
<QueryPerformanceGrid
aggregatedData={aggregatedGridData}
isLoading={isLogsLoading}
error={
logsError ? getErrorMessage(logsError) || 'Failed to load query performance data' : null
}
currentSelectedQuery={selectedQuery}
onCurrentSelectQuery={handleSelectQuery}
onRetry={handleRetry}
/>
</>
)
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does WithMonitor() do?
WithMonitor() is a function in the supabase codebase.
What does WithMonitor() call?
WithMonitor() calls 5 function(s): aggregateLogsByQuery, captureQueryPerformanceError, getPgStatMonitorLogsQuery, parsePgStatMonitorLogs, transformLogsToChartData.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free