record0() — netty Function Reference
Architecture documentation for the record0() function in ResourceLeakDetector.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 8f406d36_7022_4ea4_114b_0a77991c8aff["record0()"] 0693d07b_5a78_e1d2_0694_de182ea7e0a6["DefaultResourceLeak"] 8f406d36_7022_4ea4_114b_0a77991c8aff -->|defined in| 0693d07b_5a78_e1d2_0694_de182ea7e0a6 2b39451e_97cf_55c0_71d4_1406fc75aa6c["record()"] 2b39451e_97cf_55c0_71d4_1406fc75aa6c -->|calls| 8f406d36_7022_4ea4_114b_0a77991c8aff 04fbb310_2310_c4f9_f7f0_2c4a7cdf67fb["TraceRecord()"] 8f406d36_7022_4ea4_114b_0a77991c8aff -->|calls| 04fbb310_2310_c4f9_f7f0_2c4a7cdf67fb style 8f406d36_7022_4ea4_114b_0a77991c8aff fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
common/src/main/java/io/netty/util/ResourceLeakDetector.java lines 478–507
private void record0(Object hint) {
// Check TARGET_RECORDS > 0 here to avoid similar check before remove from and add to lastRecords
if (TARGET_RECORDS > 0) {
TraceRecord oldHead;
TraceRecord prevHead;
TraceRecord newHead;
boolean dropped;
do {
if ((prevHead = oldHead = headUpdater.get(this)) == null ||
oldHead.pos == TraceRecord.CLOSE_MARK_POS) {
// already closed.
return;
}
final int numElements = oldHead.pos + 1;
if (numElements >= TARGET_RECORDS) {
final int backOffFactor = Math.min(numElements - TARGET_RECORDS, 30);
dropped = ThreadLocalRandom.current().nextInt(1 << backOffFactor) != 0;
if (dropped) {
prevHead = oldHead.next;
}
} else {
dropped = false;
}
newHead = hint != null ? new TraceRecord(prevHead, hint) : new TraceRecord(prevHead);
} while (!headUpdater.compareAndSet(this, oldHead, newHead));
if (dropped) {
droppedRecordsUpdater.incrementAndGet(this);
}
}
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does record0() do?
record0() is a function in the netty codebase, defined in common/src/main/java/io/netty/util/ResourceLeakDetector.java.
Where is record0() defined?
record0() is defined in common/src/main/java/io/netty/util/ResourceLeakDetector.java at line 478.
What does record0() call?
record0() calls 1 function(s): TraceRecord.
What calls record0()?
record0() is called by 1 function(s): record.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free