Skip to main content

Tool to check connectivity to RevenueCat services

Project description

RC Connectivity Check tools

This PIP package measures the latencies to various hosts and provides statistics such as failure rates and latencies.

Installation

pip install rc_connectivity_check

Usage

Just run rc-connectivity-check

Also accepts an optional --timeout flag to increase request timeouts:

usage: checker.py [-h] [--timeout TIMEOUT]

RevenueCat Connectivity Check tool

options:
  -h, --help         show this help message and exit
  --timeout TIMEOUT  Request timeout, in seconds (default: 5)

Example output (simulating an error):

$ rc-connectivity-check
Finding client Public IP...
Client Public IP: 1.2.3.4

Resolving hostnames...
* www.revenuecat.com: Resolved ok
  - 18.154.22.73
  - 18.154.22.30
  - 18.154.22.107
  - 18.154.22.26
* app.revenuecat.com: Resolved ok
  - 108.157.109.77
  - 108.157.109.6
  - 108.157.109.82
  - 108.157.109.103
* api.revenuecat.com: Resolved ok
  - 34.196.186.56
  - 52.22.245.243
  - 3.208.129.96
  - 54.163.59.173
  - 3.214.67.56
  - 3.223.26.133
  - <broken_id>

Connectivity check...
ERROR: Failed to connect to api.revenuecat.com at <broken_ip>: (<urllib3.connection.HTTPSConnection object at 0x105e60b90>, 'Connection to <broken_ip> timed out. (connect timeout=5)')
ERROR: Failed to connect to api.revenuecat.com at <broken_ip>: (<urllib3.connection.HTTPConnection object at 0x105e611c0>, 'Connection to <broken_ip> timed out. (connect timeout=5)')
[...]
ERROR: Failed to connect to api.revenuecat.com at <broken_ip>: (<urllib3.connection.HTTPSConnection object at 0x105e60440>, 'Connection to <broken_ip> timed out. (connect timeout=5)')
ERROR: Failed to connect to api.revenuecat.com at <broken_ip>: (<urllib3.connection.HTTPSConnection object at 0x105e78ef0>, 'Connection to <broken_ip> timed out. (connect timeout=5)')

Results for http://www.revenuecat.com:
  - 18.154.22.30: OK
    Latencies (min/max/avg): 16.6ms / 20.0ms / 16.6ms
  - 18.154.22.73: OK
    Latencies (min/max/avg): 17.5ms / 20.8ms / 17.5ms
  - 18.154.22.26: OK
    Latencies (min/max/avg): 17.4ms / 20.1ms / 17.4ms
  - 18.154.22.107: OK
    Latencies (min/max/avg): 17.7ms / 24.1ms / 17.7ms

Results for http://app.revenuecat.com:
  - 108.157.109.77: OK
    Latencies (min/max/avg): 17.1ms / 21.8ms / 17.1ms
  - 108.157.109.6: OK
    Latencies (min/max/avg): 18.3ms / 22.6ms / 18.3ms
  - 108.157.109.82: OK
    Latencies (min/max/avg): 19.0ms / 23.6ms / 19.0ms
  - 108.157.109.103: OK
    Latencies (min/max/avg): 18.9ms / 25.7ms / 18.9ms

Results for https://app.revenuecat.com:
  - 108.157.109.6: OK
    Latencies (min/max/avg): 36.7ms / 42.8ms / 36.7ms
  - 108.157.109.82: OK
    Latencies (min/max/avg): 34.4ms / 44.4ms / 34.4ms
  - 108.157.109.103: OK
    Latencies (min/max/avg): 35.8ms / 43.1ms / 35.8ms
  - 108.157.109.77: OK
    Latencies (min/max/avg): 60.9ms / 277.5ms / 60.9ms

Results for https://www.revenuecat.com:
  - 18.154.22.26: OK
    Latencies (min/max/avg): 46.9ms / 154.1ms / 46.9ms
  - 18.154.22.30: OK
    Latencies (min/max/avg): 47.6ms / 154.1ms / 47.6ms
  - 18.154.22.107: OK
    Latencies (min/max/avg): 48.0ms / 148.6ms / 48.0ms
  - 18.154.22.73: OK
    Latencies (min/max/avg): 50.7ms / 154.0ms / 50.7ms

Results for http://api.revenuecat.com:
  - 34.196.186.56: OK
    Latencies (min/max/avg): 182.3ms / 190.7ms / 182.3ms
  - 52.22.245.243: OK
    Latencies (min/max/avg): 175.9ms / 178.9ms / 175.9ms
  - 54.163.59.173: OK
    Latencies (min/max/avg): 176.3ms / 195.9ms / 176.3ms
  - 3.208.129.96: OK
    Latencies (min/max/avg): 181.0ms / 191.7ms / 181.0ms
  - 3.214.67.56: OK
    Latencies (min/max/avg): 178.3ms / 186.5ms / 178.3ms
  - 3.223.26.133: OK
    Latencies (min/max/avg): 170.9ms / 177.1ms / 170.9ms
  - <broken_ip>: FAILURES [10/10]
    Latencies (min/max/avg): 5004.7ms / 5007.9ms / 5004.7ms

Results for https://api.revenuecat.com:
  - 34.196.186.56: OK
    Latencies (min/max/avg): 361.0ms / 378.4ms / 361.0ms
  - 52.22.245.243: OK
    Latencies (min/max/avg): 363.8ms / 388.3ms / 363.8ms
  - 54.163.59.173: OK
    Latencies (min/max/avg): 365.8ms / 376.5ms / 365.8ms
  - 3.208.129.96: OK
    Latencies (min/max/avg): 371.7ms / 404.5ms / 371.7ms
  - 3.214.67.56: OK
    Latencies (min/max/avg): 369.5ms / 392.8ms / 369.5ms
  - 3.223.26.133: OK
    Latencies (min/max/avg): 369.6ms / 388.6ms / 369.6ms
  - <broken_ip>: FAILURES [10/10]
    Latencies (min/max/avg): 5006.7ms / 5012.6ms / 5006.7ms

There were some connectivity failures!
Please help us investigate by following the next steps:

1: Check network routes:
  - Install mtr:
    - macOS: brew install mtr
    - Ubuntu: sudo apt-get install mtr
  - Run mtr using the following command:
    sudo mtr --report -n --tcp --port=443 --gracetime=5 --timeout=5 <broken_ip>

2: Capture network traffic while running this script:
  - In one terminal run:
    - On macOS, over WIFI:
      tcpdump -i en0 -w rc_connectivity_check.pcap -s 0 tcp and port 80
    - On macOS, over ethernet:
      tcpdump -i en1 -w rc_connectivity_check.pcap -s 0 tcp and port 80
    - On linux, find the interface name with ifconfig and use:
      tcpdump -i <INTERFACE> -w rc_connectivity_check.pcap -s 0 tcp and port 80
  - In another terminal, run this script again:
    rc-connectivity-check
  - Once completed, stop the tcpdump process with `Ctrl+C`
  - Send the resulting rc_connectivity_check.pcap file to RevenueCat support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rc_connectivity_check-0.1.7.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rc_connectivity_check-0.1.7-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file rc_connectivity_check-0.1.7.tar.gz.

File metadata

  • Download URL: rc_connectivity_check-0.1.7.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for rc_connectivity_check-0.1.7.tar.gz
Algorithm Hash digest
SHA256 9d2912c3f330fedc3b6c99839a7099438fb9901527cf0f9b590050135f1ea996
MD5 37f510961231b1a3f13a257ea92c5919
BLAKE2b-256 01308d23c4ebaf50521fc5b49944213bb4261a50869731d5cd3bc1c704435081

See more details on using hashes here.

File details

Details for the file rc_connectivity_check-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for rc_connectivity_check-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 63d4ea17de191593b0d1cca7eb14dd074f15da7a5b63126e3b7c9c7a15a23db7
MD5 c11261aff4b8a775fdf50b8e6c28fc04
BLAKE2b-256 bbb730571f94053528b99867e568985fca95e45056af8c7bc94e98c3a1088621

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page