Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEAT: Connection Debugger #2377

Open
rathboma opened this issue Aug 23, 2024 · 0 comments
Open

FEAT: Connection Debugger #2377

rathboma opened this issue Aug 23, 2024 · 0 comments
Labels
accepted 👍 enhancement New feature or request

Comments

@rathboma
Copy link
Collaborator

rathboma commented Aug 23, 2024

Sometimes it's not clear why Beekeeper Studio can't connect to your database.

We should have a connection debugger built in to the connection screen.

Goal of the debugger

The goal is to identify WHERE in the connection sequence problems are occurring. Users are trying to learn if the problem is - DNS, port not open, firewall issue, driver issue, authentication issue, or something else.

One very specific use case will be telling folks why localhost doesn't work, but 127.0.0.1 does work.

This is also great debugging information to be added to issues.

What the debugger shows

It should show the following things in a sequence. Each step should have a timestamp. It's similar to the visual style of GitHub actions, or any other CI tool

  1. Whether ipv4 is supported, whether ipv6 is supported (on the local machine)
  2. IF SSH enabled:
    • Whether the SSH port can be probed, and is resolvable
  3. DNS resolution of the hostname to IP address, and specify the order in which connection will happen (the order they are resolved in - dns: default to verbatim=true in dns.lookup() nodejs/node#39987)
  • If using SSH tunnel, this should happen as an SSH command of some sort
  1. IF using SSH: Whether the local tunnel server starts successfully and connects to the remote port
  2. Whether Beekeeper Studio can probe the remote TCP port using the hostname, and using the IP addresses bound to the domain name (if no SSH tunnel being used)
  3. Whether the <database driver> can establish a connection to the port
  • if this fails, but the above TCP probe succeeds, then it should probably mention that maybe they should try the IP address directly
  1. Whether authentication works with the provided credentials
  2. Whether the test query can run

Connection Debugger 2

@rathboma rathboma added enhancement New feature or request accepted 👍 labels Aug 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted 👍 enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant