(batch []*tailnetproto.TelemetryEvent)
| 198 | } |
| 199 | |
| 200 | func (api *API) handleNetworkTelemetry(batch []*tailnetproto.TelemetryEvent) { |
| 201 | var ( |
| 202 | telemetryEvents = make([]telemetry.NetworkEvent, 0, len(batch)) |
| 203 | didLogErr = false |
| 204 | ) |
| 205 | for _, pEvent := range batch { |
| 206 | tEvent, err := telemetry.NetworkEventFromProto(pEvent) |
| 207 | if err != nil { |
| 208 | if !didLogErr { |
| 209 | api.Logger.Warn(api.ctx, "error converting network telemetry event", slog.Error(err)) |
| 210 | didLogErr = true |
| 211 | } |
| 212 | // Events that fail to be converted get discarded for now. |
| 213 | continue |
| 214 | } |
| 215 | telemetryEvents = append(telemetryEvents, tEvent) |
| 216 | } |
| 217 | |
| 218 | api.Telemetry.Report(&telemetry.Snapshot{ |
| 219 | NetworkEvents: telemetryEvents, |
| 220 | }) |
| 221 | } |
| 222 | |
| 223 | type yamuxPingerCloser struct { |
| 224 | mux *yamux.Session |
nothing calls this directly
no test coverage detected