diff options
Diffstat (limited to 'src/main/java/com/it_jaros/networkScanner')
| -rw-r--r-- | src/main/java/com/it_jaros/networkScanner/App.java | 1 | ||||
| -rw-r--r-- | src/main/java/com/it_jaros/networkScanner/FdCounter.java | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/com/it_jaros/networkScanner/App.java b/src/main/java/com/it_jaros/networkScanner/App.java index 5d52065..f173e18 100644 --- a/src/main/java/com/it_jaros/networkScanner/App.java +++ b/src/main/java/com/it_jaros/networkScanner/App.java @@ -17,6 +17,7 @@ public class App { fd.start(20); // sample every 20ms List<Integer> openPorts = scanner.scanPorts(target, 10000); printPorts(target, openPorts); + System.out.println("FD baseline: " + fd.baseline()); System.out.println("FD limit: " + fd.maxFds()); System.out.println("Peak open FDs during scan: " + fd.peakOpenFds()); } diff --git a/src/main/java/com/it_jaros/networkScanner/FdCounter.java b/src/main/java/com/it_jaros/networkScanner/FdCounter.java index 05eb9a4..ae38ec2 100644 --- a/src/main/java/com/it_jaros/networkScanner/FdCounter.java +++ b/src/main/java/com/it_jaros/networkScanner/FdCounter.java @@ -14,8 +14,10 @@ public final class FdCounter implements AutoCloseable { private final ScheduledExecutorService ses = Executors.newSingleThreadScheduledExecutor(Thread.ofPlatform().daemon().factory()); private final AtomicLong peak = new AtomicLong(0); + private long baseline; public void start(long everyMillis) { + this.baseline = os.getOpenFileDescriptorCount(); ses.scheduleAtFixedRate(() -> { long now = os.getOpenFileDescriptorCount(); peak.accumulateAndGet(now, Math::max); @@ -29,6 +31,10 @@ public final class FdCounter implements AutoCloseable { public long maxFds() { return os.getMaxFileDescriptorCount(); } + + public long baseline() { + return this.baseline; + } @Override public void close() { ses.shutdownNow(); |
