Use more accurate response time measurement method (fixes #44)
This commit is contained in:
parent
76b843d728
commit
1b9849c224
@ -156,16 +156,14 @@ def dnsping(host, server, dnsrecord, timeout, count, use_tcp=False, use_edns=Fal
|
|||||||
if shutdown: # user pressed CTRL+C
|
if shutdown: # user pressed CTRL+C
|
||||||
break
|
break
|
||||||
try:
|
try:
|
||||||
stime = time.perf_counter()
|
|
||||||
answers = resolver.query(host, dnsrecord, tcp=use_tcp,
|
answers = resolver.query(host, dnsrecord, tcp=use_tcp,
|
||||||
raise_on_no_answer=False) # todo: response validation in future
|
raise_on_no_answer=False) # todo: response validation in future
|
||||||
etime = time.perf_counter()
|
|
||||||
except (dns.resolver.NoNameservers, dns.resolver.NoAnswer):
|
except (dns.resolver.NoNameservers, dns.resolver.NoAnswer):
|
||||||
break
|
break
|
||||||
except dns.resolver.Timeout:
|
except dns.resolver.Timeout:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
elapsed = (etime - stime) * 1000 # convert to milliseconds
|
elapsed = answers.response.time * 1000 # convert to milliseconds
|
||||||
response_times.append(elapsed)
|
response_times.append(elapsed)
|
||||||
|
|
||||||
r_sent = i + 1
|
r_sent = i + 1
|
||||||
|
@ -205,7 +205,7 @@ def main():
|
|||||||
print("No answer")
|
print("No answer")
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
elapsed = (etime - stime) * 1000 # convert to milliseconds
|
elapsed = answers.response.time * 1000 # convert to milliseconds
|
||||||
response_time.append(elapsed)
|
response_time.append(elapsed)
|
||||||
if not quiet:
|
if not quiet:
|
||||||
print(
|
print(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user