Knowledge Base
Why PingPlotter recommends a timeout of at least 1000 ms with ICMP using Windows DLL
Question
Solution
- Set "Time to Wait for ping replies" to 1000ms or higher. The default is 3000ms.
- Keep your timeout and change Packet Type to ICMP using Raw Sockets, TCP Packets, or UDP Packets. These don’t use the Windows DLL, so they aren’t affected
Why this happens
This packet type sends pings through a built-in Windows function (IcmpSendEcho). Most Windows ping tools use the same function, including the ping command, so they’re all subject to this. Given a timeout under 1000 ms, that function marks some replies as timeouts at random, even fast ones. At 1000 ms or more, it behaves. The loss is intermittent and often small, so it’s easy to miss. Microsoft hasn’t documented or fixed this. Other developers, including the OpenJDK team, work around it the same way: never hand Windows a timeout under 1000 ms..
Further reading
