include more detailed info
This commit is contained in:
parent
7b64d7e7f4
commit
d58ce364f9
1 changed files with 15 additions and 4 deletions
|
@ -18,24 +18,35 @@ class LatencyModule(niobot.Module):
|
|||
parsed = urllib.parse.urlparse(homeserver)
|
||||
loc = "https://" + parsed.netloc
|
||||
try:
|
||||
start_resolv = time.perf_counter()
|
||||
homeserver = await niobot.resolve_homeserver(parsed.netloc)
|
||||
except ValueError:
|
||||
end_resolv = time.perf_counter()
|
||||
resolv = round(end_resolv - start_resolv, 2)
|
||||
except ValueError as e:
|
||||
await ctx.respond("\N{WARNING SIGN} Failed to resolve homeserver: " + str(e))
|
||||
homeserver = loc
|
||||
resolv = -1
|
||||
|
||||
async with httpx.AsyncClient(headers={"User-Agent": niobot.__user_agent__}) as client:
|
||||
timings = []
|
||||
for rnd in range(5):
|
||||
start = time.time()
|
||||
start = time.perf_counter()
|
||||
try:
|
||||
res = await client.get(f"{homeserver}/_matrix/federation/v1/version")
|
||||
res.raise_for_status()
|
||||
except httpx.HTTPError:
|
||||
timings.append(-1)
|
||||
else:
|
||||
end = time.time()
|
||||
end = time.perf_counter()
|
||||
timings.append(end - start)
|
||||
fed_latency = sum(timings) / len(timings) * 1000
|
||||
|
||||
hs_target = homeserver[8:]
|
||||
return await ctx.respond(
|
||||
"Latency: {:,.2f}ms (federation latency to {!r}: {:,.2f}ms)".format(latency, hs_target, fed_latency)
|
||||
"Latency: {:,.2f}ms ({:,.2f}ms to resolve homeserver, federation latency to {!r}: {:,.2f}ms)".format(
|
||||
latency,
|
||||
resolv * 1000,
|
||||
hs_target,
|
||||
fed_latency
|
||||
)
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue