1.截取异常信息

2.添加调用类型字段
This commit is contained in:
zhangxin10 2015-11-13 19:48:16 +08:00
parent 052fa0fae6
commit 22661b7bcb
4 changed files with 23 additions and 7 deletions

View File

@ -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.

View File

@ -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);
}

View File

@ -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>();

View File

@ -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);