Builds indexes and derived views over an enriched dump: look-up tables (by tid / by locked oid), wait-for relationships, the transitive lock graph, and a handful of trace-content predicates.
Builds indexes and derived views over an enriched dump: look-up tables (by tid / by locked oid), wait-for relationships, the transitive lock graph, and a handful of trace-content predicates.
(db-socket-read-is-valid? t)True when the socketRead0 is inside a isValidConnection select 1 from dual check rather than a real query.
True when the socketRead0 is inside a `isValidConnection` `select 1 from dual` check rather than a real query.
(db-socket-read? t)True when the thread is parked in a socketRead0 call to an Oracle JDBC stream — the canonical 'waiting on the database' fingerprint.
True when the thread is parked in a socketRead0 call to an Oracle JDBC stream — the canonical 'waiting on the database' fingerprint.
(lockers-by-oid dump){<locked oid> <thread that holds it>, ...}.
{<locked oid> <thread that holds it>, ...}.
(threads-by-tid dump){tid thread, ...}. tid is the JVM-assigned hex tid string.
{tid thread, ...}. tid is the JVM-assigned hex tid string.
(trace-has? t [class method])True when one of the thread's trace lines names this class.method.
We string-match on the raw :line so we don't have to parse every
stack-trace entry up front — the parser is fast enough as is.
True when one of the thread's trace lines names this `class.method`. We string-match on the raw `:line` so we don't have to parse every stack-trace entry up front — the parser is fast enough as is.
Threads with stack traces longer than this many lines are flagged
as [N line trace] in the lock graph rendering.
Threads with stack traces longer than this many lines are flagged as `[N line trace]` in the lock graph rendering.
(transitive-lock-graph dump)Returns a nested map {tidA {tidB {tidC nil ...}}} where threads C
are waiting for a lock held by B, which is waiting on A, and so on.
Top-level keys are sorted by subtree size (biggest blockers first)
then by (tid, oid) for stable output.
Returns a nested map {tidA {tidB {tidC nil ...}}} where threads C
are waiting for a lock held by B, which is waiting on A, and so on.
Top-level keys are sorted by subtree size (biggest blockers first)
then by `(tid, oid)` for stable output.(transitive-path waiters t)Walk from a leaf thread upward through waiters to its root locker
and return the path as a vector of {:tid :oid} ascend-order entries.
Walk from a leaf thread upward through `waiters` to its root locker
and return the path as a vector of `{:tid :oid}` ascend-order entries.(waiters-by-oid dump){contested-oid #{waiter-tid ...}, ...}.
{contested-oid #{waiter-tid ...}, ...}.
(waiters-by-tid dump){waiter-tid {:tid owner-tid :oid contested-oid}, ...}.
{waiter-tid {:tid owner-tid :oid contested-oid}, ...}.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |