in plugins/forwarder/grpc/nativemanagement/forwarder.go [76:106]
func (f *Forwarder) Forward(batch event.BatchEvents) error {
pingOnce := make(map[string]void)
for _, e := range batch {
// report instance
instanceProperties := e.GetInstance()
if instanceProperties != nil {
_, err := f.managementClient.ReportInstanceProperties(context.Background(), instanceProperties)
if err != nil {
return err
}
continue
}
// report instance ping
instancePing := e.GetInstancePing()
if instancePing != nil {
// report once
instancePingStr := fmt.Sprintf("%s_%s", instancePing.Service, instancePing.ServiceInstance)
_, exists := pingOnce[instancePingStr]
if !exists {
_, err := f.managementClient.KeepAlive(context.Background(), instancePing)
if err != nil {
return err
}
pingOnce[instancePingStr] = empty
}
continue
}
}
return nil
}