Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore: add DRPC tailnet & cli network telemetry #13687

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

Merged
merged 19 commits into from
Jul 3, 2024
Merged

Conversation

ethanndickson
Copy link
Member

@ethanndickson ethanndickson commented Jun 27, 2024

  • Adds a TelemetrySink interface to tailnet.Conn to support sending network telemetry events regardless of source.
  • Adds a TelemetrySink implemention for tailnetApiConnector, to be used by the CLI.
  • Adds a TelemetryStore to a tailnet.Conn to store and scrub PII from any data used to construct network telemetry events.
  • Sends network telemetry events on coder speedtest, coder ping, when a workspace agent is reachable, and when an ssh connection session ends.
  • Adds a way to disable network telemetry from the CLI.
  • Telemetry is disabled after attempting to send events to a server that doesn't support receiving them.

A future PR will implement the plumbing necessary to record:

  • Connection age
  • P2P setup time
  • Total connection setup time

Copy link
Member Author

ethanndickson commented Jun 27, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @ethanndickson and the rest of your teammates on Graphite Graphite

@ethanndickson ethanndickson changed the title chore: add DRPC tailnet & cli implementation chore: add DRPC tailnet & cli network telemetry Jun 27, 2024
@ethanndickson ethanndickson force-pushed the dean/drpc-network-telemetry-server branch from 937bf83 to 479df1f Compare June 28, 2024 07:23
Base automatically changed from dean/drpc-network-telemetry-server to main July 1, 2024 15:50
@ethanndickson ethanndickson force-pushed the ethan/cli-telemetry branch from 9482c1c to b9cd8fb Compare July 2, 2024 04:24
@ethanndickson ethanndickson marked this pull request as ready for review July 2, 2024 13:23
@@ -108,8 +108,7 @@ message IPFields {
PUBLIC = 0;
PRIVATE = 1;
LINK_LOCAL = 2;
UNIQUE_LOCAL = 3;
LOOPBACK = 4;
LOOPBACK = 3;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per Slack discussion, UNIQUE_LOCAL was removed in favor of { v=4, class=PRIVATE } meaning "ipv4 private range" and { v=6, class=PRIVATE } meaning unique local.


message NetcheckIP {
string hash = 1;
IPFields fields = 2;
}
NetcheckIP GlobalV4 = 17;
NetcheckIP GlobalV6 = 18;

google.protobuf.BoolValue CaptivePortal = 19;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was removed because captive portal checks are disabled in Coder's tailscale fork anyways

@ethanndickson ethanndickson merged commit a110d18 into main Jul 3, 2024
37 checks passed
@ethanndickson ethanndickson deleted the ethan/cli-telemetry branch July 3, 2024 05:23
@github-actions github-actions bot locked and limited conversation to collaborators Jul 3, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants