Skip to content

Support for SSH connection metrics #100

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

Closed
fioan89 opened this issue Apr 29, 2025 · 0 comments · Fixed by #108
Closed

Support for SSH connection metrics #100

fioan89 opened this issue Apr 29, 2025 · 0 comments · Fixed by #108
Assignees

Comments

@fioan89
Copy link
Collaborator

fioan89 commented Apr 29, 2025

Ideally Toolbox workspaces can show network performance metrics similar to VSCode:

  • derp or p2p latency
  • upload\download rate

coder can provide the ssh metrics if --network-info-dir and network-info-interval

@fioan89 fioan89 self-assigned this Apr 29, 2025
fioan89 added a commit that referenced this issue May 15, 2025
Under the "Additional environment information". Unfortunately it was not
possible any other way. The description property is modifiable however
Toolbox renders the description label only as long as the SSH connection
is not established. As soon as an ssh connection is running the
description label is used as mechanism to notify users about available
IDE updates.

It also appears that we can't have any other extra tab, other than
"Tools", "Projects" and "Settings". There is a secondary information
attribute API, but it is not usable to show recurring metrics info
because it can only be
configured once, it is not a mutable field.

The best effort was to add the information in the Settings page, and it
is worth highlighting that the metrics are only refreshed when user
either:
- switches between tabs
- expands/collapses the "Additional environment information" section.

There is no programmatic mechanism to notify the information in the
Settings page that latency changed.

The network metrics are loaded from the pid files created by the ssh
command. Toolbox spawns a native process running the SSH client. The ssh
client then spawns another process which is associated to the coder
proxy command. SSH network metrics are saved into json files with the
name equal to the pid of the ssh command (not to be confused with the
proxy command's name).

- resolves #100 
- resolves #101
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant