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

Method SendTelemetryEvent

tailnet/controllers.go:739–763  ·  view source on GitHub ↗
(event *proto.TelemetryEvent)

Source from the content-addressed store, hash-verified

737}
738
739func (b *BasicTelemetryController) SendTelemetryEvent(event *proto.TelemetryEvent) {
740 b.Lock()
741 if b.client == nil {
742 b.Unlock()
743 b.logger.Debug(context.Background(),
744 "telemetry event dropped; no client", slog.F("event", event))
745 return
746 }
747 if b.unavailable {
748 b.Unlock()
749 b.logger.Debug(context.Background(),
750 "telemetry event dropped; unavailable", slog.F("event", event))
751 return
752 }
753 client := b.client
754 b.Unlock()
755 unavailable := sendTelemetry(b.logger, client, event)
756 if unavailable {
757 b.Lock()
758 defer b.Unlock()
759 if b.client == client {
760 b.unavailable = true
761 }
762 }
763}
764
765func NewBasicTelemetryController(logger slog.Logger) *BasicTelemetryController {
766 return &BasicTelemetryController{logger: logger}

Calls 3

sendTelemetryFunction · 0.85
LockMethod · 0.45
UnlockMethod · 0.45