Мониторинг выполняющихся/недавних SQL в реальном времени
Oracle
SET LONG 1000000 LONGCHUNKSIZE 1000000 LINESIZE 250 PAGESIZE 0
SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR(sql_id=>'&sql_id', type=>'TEXT') AS report FROM dual;
-- or: SELECT sql_id, status, elapsed_time FROM v$sql_monitor WHERE status='EXECUTING';Real-Time SQL Monitoring показывает долгие/параллельные запросы в реальном времени (Tuning Pack).
PostgreSQL
SELECT pid, now()-query_start AS dur, state, wait_event, query
FROM pg_stat_activity WHERE state='active' ORDER BY query_start;С auto_explain планы медленных запросов можно журналировать автоматически.
MySQL
SELECT thread_id, event_name, timer_wait/1e9 AS ms, sql_text
FROM performance_schema.events_statements_current;events_statements_current показывает выполняющиеся сейчас операторы.
SQL Server
SELECT r.session_id, r.status, r.wait_type, r.percent_complete, t.text
FROM sys.dm_exec_requests r JOIN sys.dm_exec_sessions s ON s.session_id = r.session_id CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t
WHERE s.is_user_process = 1;«Live Query Statistics» в SSMS показывает выполнение плана в реальном времени.
MongoDB
db.currentOp({ active: true, secs_running: { $gt: 1 } })Показывает долгие операции в реальном времени; их можно завершить через killOp.
Redis
MONITORТранслирует ВСЕ команды в реальном времени — влияет на производительность в продакшене, используйте лишь кратко. Предпочтительнее SLOWLOG.
Elasticsearch
GET _tasks?detailed=true&group_by=parentsПоказывает выполняющиеся задачи в реальном времени; долгая задача отменяется через POST _tasks/<id>/_cancel.