ResourceLeakDetectorRecordBenchmark Class — netty Architecture
Architecture documentation for the ResourceLeakDetectorRecordBenchmark class in ResourceLeakDetectorRecordBenchmark.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 59314ad0_edda_e715_5a0d_3845b998cdee["ResourceLeakDetectorRecordBenchmark"] cf7d381e_b9bd_6c61_7a5e_86f9a568fc3c["ResourceLeakDetectorRecordBenchmark.java"] 59314ad0_edda_e715_5a0d_3845b998cdee -->|defined in| cf7d381e_b9bd_6c61_7a5e_86f9a568fc3c 9fd56f2f_fc26_fa45_fb76_0567240347fc["setup()"] 59314ad0_edda_e715_5a0d_3845b998cdee -->|method| 9fd56f2f_fc26_fa45_fb76_0567240347fc abb322a5_e8b6_78bd_f833_ea76ac53d9f6["teardown()"] 59314ad0_edda_e715_5a0d_3845b998cdee -->|method| abb322a5_e8b6_78bd_f833_ea76ac53d9f6 d152c4b1_0950_3125_e7d3_9a2a4d4811e3["record()"] 59314ad0_edda_e715_5a0d_3845b998cdee -->|method| d152c4b1_0950_3125_e7d3_9a2a4d4811e3 4f9529bb_39a0_5b5e_1b5f_aca487f59e44["recordWithHint()"] 59314ad0_edda_e715_5a0d_3845b998cdee -->|method| 4f9529bb_39a0_5b5e_1b5f_aca487f59e44
Relationship Graph
Source Code
microbench/src/main/java/io/netty/microbench/util/ResourceLeakDetectorRecordBenchmark.java lines 27–86
public class ResourceLeakDetectorRecordBenchmark extends AbstractMicrobenchmark {
private static final Object TRACKED = new Object();
private static final ResourceLeakHint HINT = new ResourceLeakHint() {
@Override
public String toHintString() {
return "BenchmarkHint";
}
};
@Param({ "8", "16" })
private int recordTimes;
private ResourceLeakDetector.Level level;
ResourceLeakDetector<Object> detector = new ResourceLeakDetector<Object>(
Object.class, 1, Integer.MAX_VALUE) {
@Override
protected void reportTracedLeak(String resourceType, String records) {
// noop
}
@Override
protected void reportUntracedLeak(String resourceType) {
// noop
}
@Override
protected void reportInstancesLeak(String resourceType) {
// noop
}
};
@Setup(Level.Trial)
public void setup() {
level = ResourceLeakDetector.getLevel();
ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.PARANOID);
}
@TearDown(Level.Trial)
public void teardown() {
ResourceLeakDetector.setLevel(level);
}
@Benchmark
public boolean record() {
ResourceLeakTracker<Object> tracker = detector.track(TRACKED);
for (int i = 0 ; i < recordTimes; i++) {
tracker.record();
}
return tracker.close(TRACKED);
}
@Benchmark
public boolean recordWithHint() {
ResourceLeakTracker<Object> tracker = detector.track(TRACKED);
for (int i = 0 ; i < recordTimes; i++) {
tracker.record(HINT);
}
return tracker.close(TRACKED);
}
}
Defined In
Source
Frequently Asked Questions
What is the ResourceLeakDetectorRecordBenchmark class?
ResourceLeakDetectorRecordBenchmark is a class in the netty codebase, defined in microbench/src/main/java/io/netty/microbench/util/ResourceLeakDetectorRecordBenchmark.java.
Where is ResourceLeakDetectorRecordBenchmark defined?
ResourceLeakDetectorRecordBenchmark is defined in microbench/src/main/java/io/netty/microbench/util/ResourceLeakDetectorRecordBenchmark.java at line 27.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free