(ctx context.Context, gtw *ttnpb.Gateway, _ *ttnpb.GatewayStatus, host string, err error)
| 336 | } |
| 337 | |
| 338 | func registerDropStatus(ctx context.Context, gtw *ttnpb.Gateway, _ *ttnpb.GatewayStatus, host string, err error) { |
| 339 | events.Publish(evtDropStatus.NewWithIdentifiersAndData(ctx, gtw, err)) |
| 340 | errorLabel := unknown |
| 341 | if ttnErr, ok := errors.From(err); ok { |
| 342 | errorLabel = ttnErr.FullName() |
| 343 | } |
| 344 | gsMetrics.statusDropped.WithLabelValues(ctx, host, errorLabel).Inc() |
| 345 | } |
| 346 | |
| 347 | func registerReceiveUplink(ctx context.Context, gtw *ttnpb.Gateway, msg *ttnpb.GatewayUplinkMessage, protocol string) { |
| 348 | events.Publish(evtReceiveUp.NewWithIdentifiersAndData(ctx, gtw, msg)) |
no test coverage detected