|
@ -7,8 +7,11 @@ import net.sf.json.JSONObject;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.cloud.sleuth.Tracer;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
import java.lang.reflect.Method;
|
|
|
import java.util.ArrayList;
|
|
@ -21,15 +24,25 @@ import java.util.List;
|
|
|
@Component
|
|
|
public class SimpleEventSender implements EventSender {
|
|
|
private Logger logger = LoggerFactory.getLogger(SimpleEventSender.class);
|
|
|
|
|
|
@Autowired
|
|
|
private SocketClient socketClient;
|
|
|
private Tracer tracer;
|
|
|
@Value("${spring.application.name:unknow}")
|
|
|
private String spanrName;
|
|
|
|
|
|
@Autowired
|
|
|
private EventBuffer eventBuffer;
|
|
|
|
|
|
public Boolean send(IEvent event) {
|
|
|
try {
|
|
|
if (StringUtils.isEmpty(event.getTraceId())) {
|
|
|
event.setTraceId(tracer.getCurrentSpan().traceIdString());
|
|
|
}
|
|
|
if (StringUtils.isEmpty(event.getSpanId())) {
|
|
|
event.setSpanId(tracer.getCurrentSpan().getSpanId() + "");
|
|
|
}
|
|
|
if (StringUtils.isEmpty(event.getSpanName())) {
|
|
|
event.setSpanName(spanrName);
|
|
|
}
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
Method[] methods = event.getClass().getMethods();
|
|
|
for (Method method : methods) {
|
|
@ -54,7 +67,7 @@ public class SimpleEventSender implements EventSender {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
socketClient.getCurrentClient().send(jsonObject.toString());
|
|
|
eventBuffer.addEvent(event);
|
|
|
return true;
|
|
|
} catch (Exception e) {
|
|
|
logger.error(e.getMessage());
|