summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbitbake/bin/bitbake-hashclient25
1 files changed, 25 insertions, 0 deletions
diff --git a/bitbake/bin/bitbake-hashclient b/bitbake/bin/bitbake-hashclient
index 610787ed2b..e1e1144644 100755
--- a/bitbake/bin/bitbake-hashclient
+++ b/bitbake/bin/bitbake-hashclient
@@ -16,6 +16,7 @@ import time
16import warnings 16import warnings
17import netrc 17import netrc
18import json 18import json
19import statistics
19warnings.simplefilter("default") 20warnings.simplefilter("default")
20 21
21try: 22try:
@@ -225,6 +226,26 @@ def main():
225 print("true" if result else "false") 226 print("true" if result else "false")
226 return 0 227 return 0
227 228
229 def handle_ping(args, client):
230 times = []
231 for i in range(1, args.count + 1):
232 print(f"Ping {i} of {args.count}... ", end="")
233 start_time = time.perf_counter()
234 client.ping()
235 elapsed = time.perf_counter() - start_time
236 times.append(elapsed)
237 print(f"{elapsed:.3f}s")
238
239 mean = statistics.mean(times)
240 std_dev = statistics.pstdev(times)
241
242 print("------------------------")
243 print(f"Average round trip time: {mean:.3f}s")
244 print(f"Round trip time std dev: {std_dev:.3f}s")
245 print(f"Min time is: {min(times):.3f}s")
246 print(f"Max time is: {max(times):.3f}s")
247 return 0
248
228 parser = argparse.ArgumentParser(description='Hash Equivalence Client') 249 parser = argparse.ArgumentParser(description='Hash Equivalence Client')
229 parser.add_argument('--address', default=DEFAULT_ADDRESS, help='Server address (default "%(default)s")') 250 parser.add_argument('--address', default=DEFAULT_ADDRESS, help='Server address (default "%(default)s")')
230 parser.add_argument('--log', default='WARNING', help='Set logging level') 251 parser.add_argument('--log', default='WARNING', help='Set logging level')
@@ -322,6 +343,10 @@ def main():
322 unihash_exists_parser.add_argument("unihash", help="Unihash to check") 343 unihash_exists_parser.add_argument("unihash", help="Unihash to check")
323 unihash_exists_parser.set_defaults(func=handle_unihash_exists) 344 unihash_exists_parser.set_defaults(func=handle_unihash_exists)
324 345
346 ping_parser = subparsers.add_parser('ping', help="Ping server")
347 ping_parser.add_argument("-n", "--count", type=int, help="Number of pings. Default is %(default)s", default=10)
348 ping_parser.set_defaults(func=handle_ping)
349
325 args = parser.parse_args() 350 args = parser.parse_args()
326 351
327 logger = logging.getLogger('hashserv') 352 logger = logging.getLogger('hashserv')