MCPcopy Index your code
hub / github.com/coder/coder / fillCoderDesktopTelemetry

Function fillCoderDesktopTelemetry

coderd/workspaceagents.go:2353–2377  ·  view source on GitHub ↗

fillCoderDesktopTelemetry fills out the provided event based on a Coder Desktop telemetry header on the request, if present.

(r *http.Request, event *telemetry.UserTailnetConnection, logger slog.Logger)

Source from the content-addressed store, hash-verified

2351// fillCoderDesktopTelemetry fills out the provided event based on a Coder Desktop telemetry header on the request, if
2352// present.
2353func fillCoderDesktopTelemetry(r *http.Request, event *telemetry.UserTailnetConnection, logger slog.Logger) {
2354 // Parse desktop telemetry from header if it exists
2355 desktopTelemetryHeader := r.Header.Get(codersdk.CoderDesktopTelemetryHeader)
2356 if desktopTelemetryHeader != "" {
2357 var telemetryData codersdk.CoderDesktopTelemetry
2358 if err := telemetryData.FromHeader(desktopTelemetryHeader); err == nil {
2359 // Only set fields if they aren't empty
2360 if telemetryData.DeviceID != "" {
2361 event.DeviceID = &telemetryData.DeviceID
2362 }
2363 if telemetryData.DeviceOS != "" {
2364 event.DeviceOS = &telemetryData.DeviceOS
2365 }
2366 if telemetryData.CoderDesktopVersion != "" {
2367 event.CoderDesktopVersion = &telemetryData.CoderDesktopVersion
2368 }
2369 logger.Debug(r.Context(), "received desktop telemetry",
2370 slog.F("device_id", telemetryData.DeviceID),
2371 slog.F("device_os", telemetryData.DeviceOS),
2372 slog.F("desktop_version", telemetryData.CoderDesktopVersion))
2373 } else {
2374 logger.Warn(r.Context(), "failed to parse desktop telemetry header", slog.Error(err))
2375 }
2376 }
2377}
2378
2379// createExternalAuthResponse creates an ExternalAuthResponse based on the
2380// provider type. This is to support legacy `/workspaceagents/me/gitauth`

Callers 1

tailnetRPCConnMethod · 0.85

Calls 4

FromHeaderMethod · 0.95
GetMethod · 0.65
ContextMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected