op: purge

8 events · 3.33 ms wall · 3.13 ms DB (94%) · 200.00 us non-DB (6%)
DB 3.13 ms

Transactions

Autocommit mode — every statement was its own transaction. Group related writes in one explicit transaction (and reads outside it) to cut round-trips.

#durationreadswritesmax idleoutcomelongest template
12.45 ms01autocommitDELETE FROM outbox_events WHERE status = 'SENT' AND processed_at < ?
253.10 us10autocommitSELECT COUNT(*) FROM audit

Timeline

gap is idle time since the previous event on the same thread — highlighted rows had noticeably more app/non-DB time before them than the rest. Follow those to find where the op lost its wall-clock time outside the database.

+offsetgapeventdurationtemplateparamscall-site
0 nsPREPARE493.00 usDELETE FROM outbox_events WHERE status = 'SENT' AND processed_at < ?fi.vesas.jdbclens.capture.CapturingConnection.wrapPrepared:66
562.00 us69.00 usEXECUTE_UPDATE2.45 msDELETE FROM outbox_events WHERE status = 'SENT' AND processed_at < ?[1] 2026-05-06 21:49:03.612fi.vesas.jdbclens.sample.service.PurgeService.purgeProcessedOutboxEvents:21
3.08 ms62.50 usCLOSE1.10 usstack[-1]
3.08 ms6.30 usPREPARE128.70 usSELECT COUNT(*) FROM auditfi.vesas.jdbclens.capture.CapturingConnection.wrapPrepared:66
3.25 ms35.40 usEXECUTE_QUERY53.10 usSELECT COUNT(*) FROM auditfi.vesas.jdbclens.sample.service.PurgeService.trimAuditLog:28
3.32 ms22.00 usNEXT1.30 usSELECT COUNT(*) FROM auditstack[-1]
3.33 ms4.50 usCLOSE800 nsSELECT COUNT(*) FROM auditstack[-1]
3.33 ms300 nsCLOSE200 nsstack[-1]