parent
052fa0fae6
commit
22661b7bcb
|
|
@ -13,7 +13,7 @@ public class RPCBuriedPointReceiver implements IBuriedPointReceiver {
|
|||
|
||||
public void afterReceived() {
|
||||
// 获取上下文的栈顶中的元素
|
||||
Span spanData = Context.removeLastSpan();
|
||||
Span spanData = Context.removeLastSpan();
|
||||
// 填上必要信息
|
||||
spanData.setCost(System.currentTimeMillis() - spanData.getStartDate());
|
||||
// 存放到本地发送进程中
|
||||
|
|
@ -22,6 +22,7 @@ public class RPCBuriedPointReceiver implements IBuriedPointReceiver {
|
|||
|
||||
public void beforeReceived(ContextData context) {
|
||||
Span spanData = ContextGenerator.generateContextFromContextData(context);
|
||||
spanData.setReceiver(true);
|
||||
// 存放到上下文
|
||||
if (Config.BuriedPoint.PRINTF) {
|
||||
System.out.println("viewpointId:" + spanData.getViewPointId() + "\tParentLevelId:" + spanData.
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ public class Span {
|
|||
private byte statueCode = 0;
|
||||
private String exceptionStack;
|
||||
private byte spanType;
|
||||
private boolean isReceiver = false;
|
||||
|
||||
public Span() {
|
||||
}
|
||||
|
|
@ -120,13 +121,23 @@ public class Span {
|
|||
this.spanType = spanType;
|
||||
}
|
||||
|
||||
public boolean isReceiver() {
|
||||
return isReceiver;
|
||||
}
|
||||
|
||||
public void setReceiver(boolean receiver) {
|
||||
isReceiver = receiver;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuffer stringBuffer = new StringBuffer(traceId + "-" + parentLevel + "-"
|
||||
+ levelId + "-" + viewPointId + "-" + startDate + "-" + cost +
|
||||
"-" + address +
|
||||
"-" + statueCode +
|
||||
"-" + processNo + "-" + spanType);
|
||||
"-" + processNo + "-" + spanType + "-" + isReceiver);
|
||||
|
||||
|
||||
if (!StringUtil.isEmpty(exceptionStack)) {
|
||||
stringBuffer.append("-" + exceptionStack);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public class DataSenderFactory {
|
|||
System.err.println("CONNECT_PERCENT must between 1 and 100");
|
||||
System.exit(-1);
|
||||
}
|
||||
avaiableSize = (int) Math.ceil(socketAddresses.size() * 1.0 * ((CONNECT_PERCENT / 100) % 100));
|
||||
avaiableSize = (int) Math.ceil(socketAddresses.size() * ((1.0 * CONNECT_PERCENT / 100) % 100));
|
||||
// 初始化DataSender
|
||||
Iterator<SocketAddress> it = socketAddresses.iterator();
|
||||
List<SocketAddress> usedSocketAddress = new ArrayList<SocketAddress>();
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import java.io.IOException;
|
|||
public final class ExceptionHandleUtil {
|
||||
private static String extractExceptionStackMessage(final Throwable e) {
|
||||
ByteArrayOutputStream buf = new ByteArrayOutputStream();
|
||||
StringBuffer expMessage = new StringBuffer();
|
||||
StringBuilder expMessage = new StringBuilder();
|
||||
Throwable causeException = e;
|
||||
while (causeException.getCause() != null) {
|
||||
while (causeException.getCause() != null || expMessage.length() < 40000) {
|
||||
causeException.printStackTrace(new java.io.PrintWriter(buf, true));
|
||||
expMessage.append(buf.toString());
|
||||
causeException = causeException.getCause();
|
||||
|
|
@ -22,11 +22,15 @@ public final class ExceptionHandleUtil {
|
|||
expMessage.append("\n本地发送埋点关闭异常读入流异常,异常信息:");
|
||||
expMessage.append(e1.getCause().getMessage());
|
||||
}
|
||||
return expMessage.toString().replace('\n','&');
|
||||
if (expMessage.length() <= 4000) {
|
||||
return expMessage.toString().replace('\n', '&');
|
||||
} else {
|
||||
return expMessage.toString().replace('\n', '&').substring(0, 40000);
|
||||
}
|
||||
}
|
||||
|
||||
public static void handleException(Throwable e) {
|
||||
Span spanData = Context.getLastSpan();
|
||||
Span spanData = Context.getLastSpan();
|
||||
// 设置错误信息
|
||||
byte errorCode = 1;
|
||||
spanData.setStatueCode(errorCode);
|
||||
|
|
|
|||
Loading…
Reference in New Issue