Technologies/Prefect/prefect.database.query.duration
PrefectPrefectMetric

prefect.database.query.duration

Database query duration
Dimensions:None
Available on:PrometheusPrometheus (1)
Interface Metrics (1)
PrometheusPrometheus
Duration of database queries in seconds
Dimensions:None

Technical Annotations (36)

Configuration Parameters (7)
server.database.sqlalchemy.pool_sizerecommended: 60 (current, may need increase)
Maximum connections in the pool; version 3.x may require more than 2.x
server.database.sqlalchemy.max_overflowrecommended: 10 (current, may need increase)
Additional connections beyond pool_size during bursts
server.database.sqlalchemy.pool_timeoutrecommended: 30
Seconds to wait for connection from pool before timeout
cancellationcleanup.loop_intervalrecommended: 20.0 seconds
default loop interval being exceeded by 2-3x
recentdeploymentsscheduler.loop_intervalrecommended: 5 seconds
default loop interval being met or slightly exceeded
marklateruns.loop_intervalrecommended: 5.0 seconds
default loop interval being exceeded by 2x
autovacuum_analyze_scale_factorrecommended: 0.02 for high-volume tables
Keeps table statistics current for optimal query planning
Error Signatures (8)
asyncpg.exceptions.DeadlockDetectedErrorexception
sqlalchemy.exc.DBAPIErrorexception
deadlock detectedlog pattern
waits for ShareLock on transactionlog pattern
CancellationCleanup tooklog pattern
longer than its loop intervallog pattern
RecentDeploymentsScheduler tooklog pattern
MarkLateRuns tooklog pattern
CLI Commands (2)
ANALYZE;remediation
SELECT schemaname, relname AS tablename, indexrelname AS indexname, pg_size_pretty(pg_relation_size(indexrelid)) AS index_size, idx_scan AS index_scans, idx_tup_read AS tuples_read, idx_tup_fetch AS tuples_fetched FROM pg_stat_user_indexes WHERE schemaname = 'public' ORDER BY pg_relation_size(indexrelid) DESC LIMIT 20;diagnostic
Technical References (19)
flow_runcomponentdatabase locksconceptFOR UPDATEconceptSELECT FOR UPDATEconcepttask_runcomponentasyncpgcomponentON CONFLICTconcept/usr/local/lib/python3.12/site-packages/prefect/server/services/task_run_recorder.pyfile pathShareLockconceptCancellationCleanupcomponentprefect.server.services.cancellationcleanupcomponentRecentDeploymentsSchedulercomponentprefect.server.services.recentdeploymentsschedulercomponentMarkLateRunscomponentprefect.server.services.marklaterunscomponentprefect_kubernetes.observercomponent_replicate_pod_eventcomponentpg_stat_user_tablescomponentpg_stat_user_indexescomponent
Related Insights (8)
Database connection pool exhaustion causes severe API slowdown after Prefect 3.x upgradecritical
SELECT FOR UPDATE queries on flow_run table block for multiple seconds despite indexingcritical
Database deadlock on concurrent task_run insertscritical
CancellationCleanup service execution exceeds loop intervalwarning
RecentDeploymentsScheduler execution exceeds loop intervalwarning
MarkLateRuns service execution exceeds loop intervalwarning
Prefect event filter misconfiguration causes excessive database loadcritical
Query performance degrading over time due to stale statisticswarning