Skip to content

Instantly share code, notes, and snippets.

@nickleefly
Created March 11, 2025 10:01
Show Gist options
  • Save nickleefly/4a88c06a80d664218a12e697277aa9c1 to your computer and use it in GitHub Desktop.
Save nickleefly/4a88c06a80d664218a12e697277aa9c1 to your computer and use it in GitHub Desktop.
ping sierrachart servers
import subprocess
import re
# List of domains to ping
domain_list = [
"ds3.sierracharts.com",
"ds4.sierracharts.com",
"ds4-2.sierracharts.com",
"ds12.sierracharts.com",
"ds12-2.sierracharts.com",
"ds13.sierracharts.com",
"ds13-2.sierracharts.com",
"ds14.sierracharts.com",
"ds22.sierracharts.com",
"ds23.sierracharts.com",
"ds23-2.sierracharts.com",
"ds24.sierracharts.com",
"ds26.sierracharts.com",
"ds26-2.sierracharts.com",
"ds27.sierracharts.com",
"ds28.sierracharts.com",
"ds28-2.sierracharts.com",
"ds30.sierracharts.com",
"ds30-2.sierracharts.com",
"ds31.sierracharts.com",
"ds32.sierracharts.com",
"ds32-2.sierracharts.com",
"ds40.sierracharts.com",
]
results = []
for domain in domain_list:
ping_process = subprocess.run(["ping", "-c", "4", domain], capture_output=True, text=True)
# Updated regular expression to match the output format
match = re.search(r"round-trip min/avg/max/stddev = (\d+.\d+)/(\d+.\d+)/(\d+.\d+)/(\d+.\d+) ms", ping_process.stdout)
if match:
avg_rtt = float(match.group(2))
results.append((domain, avg_rtt))
else:
print(f"Failed to parse ping output for {domain}")
# Sort the results by average response time
results.sort(key=lambda x: x[1])
# Print the sorted results
for domain, avg_rtt in results:
print(f"{domain}: {avg_rtt} ms")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment