viam-rust-utils 0.5.0

Utilities designed for use with Viamrobotics's SDKs
Documentation
# Viam Dial Debugger
A CLI tool to give information on how Viam rust utils' dial function makes connections.

## Installation
viam-dialdbg can currently only be installed via homebrew.

``` shell
brew tap viamrobotics/brews && brew install viam-dialdbg
```

## Building from source
viam-dialdbg is only built as a binary when the "dialdbg" feature is enabled. Run

``` shell
cargo build --release --features dialdbg
```

to build. Upon success, binary should be accessible under target/release.


## Usage examples

``` shell
viam-dialdbg --uri myremote.com --credential mycredential
```
Prints debug information to STDOUT for connecting from this machine to "myremote.com" using "mycredential" as a credential. Prints information on WebRTC connection establishment, gRPC connection establishment, and average round-trip-times for both. Prints discovered mDNS addresses on the subnet if mDNS could not be used to connect.

``` shell
viam-dialdbg --uri myremote.com --credential mycredential --output ./foo.txt
```
Same as above, but outputs debug information to ./foo.txt (./foo.txt will be overwritten).

``` shell
viam-dialdbg --uri myremote.com --credential mycredential --output ./foo.txt --credential-type bar
```
Same as above, but uses "bar" credential type for "mycredential".

``` shell
viam-dialdbg --uri myremote.com --credential mycredential --output ./foo.txt --credential-type bar --nogrpc
```
Same as above, but only examines WebRTC connection establishment.

``` shell
viam-dialdbg --uri myremote.com --credential mycredential --output ./foo.txt --credential-type api-key --entity myentity --nogrpc
```
Same as above, but uses "api-key" credential type and "myentity" auth entity for "mycredential".

Use `viam-dialdbg --help` for more information.

## License
Copyright 2023 Viam Inc.

Apache 2.0 - See [LICENSE](https://github.com/viamrobotics/rust-utils/blob/main/LICENSE) file