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

Function sendTelemetry

tailnet/controllers.go:774–799  ·  view source on GitHub ↗
(
	logger slog.Logger, client TelemetryClient, event *proto.TelemetryEvent,
)

Source from the content-addressed store, hash-verified

772)
773
774func sendTelemetry(
775 logger slog.Logger, client TelemetryClient, event *proto.TelemetryEvent,
776) (
777 unavailable bool,
778) {
779 ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
780 defer cancel()
781 _, err := client.PostTelemetry(ctx, &proto.TelemetryRequest{
782 Events: []*proto.TelemetryEvent{event},
783 })
784 if IsDRPCUnimplementedError(err) {
785 logger.Debug(
786 context.Background(),
787 "attempted to send telemetry to a server that doesn't support it",
788 slog.Error(err),
789 )
790 return true
791 } else if err != nil {
792 logger.Warn(
793 context.Background(),
794 "failed to post telemetry event",
795 slog.F("event", event), slog.Error(err),
796 )
797 }
798 return false
799}
800
801// IsDRPCUnimplementedError returns true if the error indicates the RPC called is not implemented
802// by the server.

Callers 1

SendTelemetryEventMethod · 0.85

Calls 3

IsDRPCUnimplementedErrorFunction · 0.85
PostTelemetryMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected