From 7d60186b7e8a06346970baece99511cf5782d45e Mon Sep 17 00:00:00 2001 From: Spike Curtis Date: Thu, 20 Mar 2025 17:04:43 +0400 Subject: [PATCH] feat: add user_tailnet_connections to telemetry (#17018) ## Summary - Add UserTailnetConnection struct to track desktop client connections - Add new field to Snapshot struct for telemetry - Data collection to be implemented in a future PR relates to coder/nexus#197 --- coderd/telemetry/telemetry.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/coderd/telemetry/telemetry.go b/coderd/telemetry/telemetry.go index 8956fed239..21e1c39fc0 100644 --- a/coderd/telemetry/telemetry.go +++ b/coderd/telemetry/telemetry.go @@ -1149,6 +1149,7 @@ type Snapshot struct { NetworkEvents []NetworkEvent `json:"network_events"` Organizations []Organization `json:"organizations"` TelemetryItems []TelemetryItem `json:"telemetry_items"` + UserTailnetConnections []UserTailnetConnection `json:"user_tailnet_connections"` } // Deployment contains information about the host running Coder. @@ -1711,6 +1712,16 @@ type TelemetryItem struct { UpdatedAt time.Time `json:"updated_at"` } +type UserTailnetConnection struct { + ConnectedAt time.Time `json:"connected_at"` + DisconnectedAt *time.Time `json:"disconnected_at"` + UserID string `json:"user_id"` + PeerID string `json:"peer_id"` + DeviceID *string `json:"device_id"` + DeviceOS *string `json:"device_os"` + CoderDesktopVersion *string `json:"coder_desktop_version"` +} + type noopReporter struct{} func (*noopReporter) Report(_ *Snapshot) {}