修复bug

This commit is contained in:
ascrutae 2016-08-13 23:34:07 +08:00
parent 598275b8fd
commit 98b5085f53
14 changed files with 376 additions and 35 deletions

View File

@ -20,6 +20,9 @@ import java.io.File;
import java.lang.instrument.Instrumentation;
import java.net.URL;
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
import static net.bytebuddy.matcher.ElementMatchers.not;
public class SkyWalkingAgent {
private static Logger logger = LogManager.getLogger(SkyWalkingAgent.class);
@ -29,7 +32,7 @@ public class SkyWalkingAgent {
final PluginDefineCategory pluginDefineCategory =
PluginDefineCategory.category(new PluginBootstrap().loadPlugins());
new AgentBuilder.Default().type(enhanceClassMatcher(pluginDefineCategory))
new AgentBuilder.Default().type(enhanceClassMatcher(pluginDefineCategory).and(not(isInterface())))
.transform(new AgentBuilder.Transformer() {
public DynamicType.Builder<?> transform(DynamicType.Builder<?> builder,
TypeDescription typeDescription, ClassLoader classLoader) {

View File

@ -28,8 +28,8 @@ public abstract class BaseInvokeMonitor {
protected ContextData beforeInvoke(Span spanData, Identification id) {
if (Config.BuriedPoint.PRINTF) {
logger.debug("TraceId:" + spanData.getTraceId() + "\tviewpointId:" + id.getViewPoint() + "\tParentLevelId:"
+ spanData.getParentLevel() + "\tLevelId:" + spanData.getLevelId());
logger.debug("TraceId:" + spanData.getTraceId() + "\tParentLevelId:" + spanData.getParentLevel()
+ "\tLevelId:" + spanData.getLevelId() + "\tbusinessKey:" + spanData.getParameters());
}
// 将新创建的Context存放到ThreadLocal栈中

View File

@ -2,6 +2,7 @@ package com.ai.cloud.skywalking.invoke.monitor;
import com.ai.cloud.skywalking.buffer.ContextBuffer;
import com.ai.cloud.skywalking.conf.AuthDesc;
import com.ai.cloud.skywalking.conf.Config;
import com.ai.cloud.skywalking.context.CurrentThreadSpanStack;
import com.ai.cloud.skywalking.logging.LogManager;
import com.ai.cloud.skywalking.logging.Logger;
@ -28,6 +29,10 @@ public class RPCClientInvokeMonitor extends BaseInvokeMonitor {
//设置SpanType的类型
spanData.setSpanType(SpanType.RPC_CLIENT);
if (Config.BuriedPoint.PRINTF) {
logger.debug("TraceId:" + spanData.getTraceId() + "\tParentLevelId:" + spanData.getParentLevel()
+ "\tLevelId:" + spanData.getLevelId() + "\tbusinessKey:" + spanData.getParameters());
}
CurrentThreadSpanStack.push(spanData);

View File

@ -3,6 +3,7 @@ package com.ai.cloud.skywalking.logging;
import com.ai.cloud.skywalking.protocol.util.LoggingUtil;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
@ -89,7 +90,7 @@ public class Logger {
break;
}
tmpMessage = tmpMessage.replaceFirst("\\{\\}", String.valueOf(parameters[parametersIndex++]));
tmpMessage = tmpMessage.replaceFirst("\\{\\}", URLEncoder.encode(String.valueOf(parameters[parametersIndex++])));
startSize = index + 2;
}
return tmpMessage;

View File

@ -43,7 +43,7 @@ public class CustomLocalMethodInterceptor implements InstanceMethodsAroundInterc
@Override
public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
Object ret) {
new LocalMethodInvokeMonitor().afterInvoke();
recordResultIfNecessary(ret);
return ret;
}
@ -65,10 +65,24 @@ public class CustomLocalMethodInterceptor implements InstanceMethodsAroundInterc
@Override
public Object afterMethod(StaticMethodInvokeContext interceptorContext, Object ret) {
new LocalMethodInvokeMonitor().afterInvoke();
recordResultIfNecessary(ret);
return ret;
}
private void recordResultIfNecessary(Object ret) {
if (Config.Plugin.CustomLocalMethodInterceptorPlugin.RECORD_PARAM_ENABLE){
String retStr;
try{
retStr = new Gson().toJson(ret);
}catch (Exception e){
retStr = "N/A";
}
new LocalMethodInvokeMonitor().afterInvoke(retStr);
}else {
new LocalMethodInvokeMonitor().afterInvoke();
}
}
@Override
public void handleMethodException(Throwable t, MethodInvokeContext interceptorContext) {
new LocalMethodInvokeMonitor().occurException(t);

View File

@ -100,6 +100,40 @@ public final class TraceProtocol {
*/
com.google.protobuf.ByteString
getViewpointIdBytes();
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
int getParametersCount();
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
boolean containsParameters(
java.lang.String key);
/**
* Use {@link #getParametersMap()} instead.
*/
@java.lang.Deprecated
java.util.Map<java.lang.String, java.lang.String>
getParameters();
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
java.util.Map<java.lang.String, java.lang.String>
getParametersMap();
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
java.lang.String getParametersOrDefault(
java.lang.String key,
java.lang.String defaultValue);
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
java.lang.String getParametersOrThrow(
java.lang.String key);
}
/**
* Protobuf type {@code AckSpan}
@ -189,6 +223,18 @@ public final class TraceProtocol {
viewpointId_ = bs;
break;
}
case 66: {
if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
parameters_ = com.google.protobuf.MapField.newMapField(
ParametersDefaultEntryHolder.defaultEntry);
mutable_bitField0_ |= 0x00000080;
}
com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
parameters = input.readMessage(
ParametersDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
parameters_.getMutableMap().put(parameters.getKey(), parameters.getValue());
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
@ -206,6 +252,17 @@ public final class TraceProtocol {
return com.ai.cloud.skywalking.protocol.proto.TraceProtocol.internal_static_AckSpan_descriptor;
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapField internalGetMapField(
int number) {
switch (number) {
case 8:
return internalGetParameters();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.ai.cloud.skywalking.protocol.proto.TraceProtocol.internal_static_AckSpan_fieldAccessorTable
@ -427,6 +484,82 @@ public final class TraceProtocol {
}
}
public static final int PARAMETERS_FIELD_NUMBER = 8;
private static final class ParametersDefaultEntryHolder {
static final com.google.protobuf.MapEntry<
java.lang.String, java.lang.String> defaultEntry =
com.google.protobuf.MapEntry
.<java.lang.String, java.lang.String>newDefaultInstance(
com.ai.cloud.skywalking.protocol.proto.TraceProtocol.internal_static_AckSpan_ParametersEntry_descriptor,
com.google.protobuf.WireFormat.FieldType.STRING,
"",
com.google.protobuf.WireFormat.FieldType.STRING,
"");
}
private com.google.protobuf.MapField<
java.lang.String, java.lang.String> parameters_;
private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetParameters() {
if (parameters_ == null) {
return com.google.protobuf.MapField.emptyMapField(
ParametersDefaultEntryHolder.defaultEntry);
}
return parameters_;
}
public int getParametersCount() {
return internalGetParameters().getMap().size();
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public boolean containsParameters(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
return internalGetParameters().getMap().containsKey(key);
}
/**
* Use {@link #getParametersMap()} instead.
*/
@java.lang.Deprecated
public java.util.Map<java.lang.String, java.lang.String> getParameters() {
return getParametersMap();
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public java.util.Map<java.lang.String, java.lang.String> getParametersMap() {
return internalGetParameters().getMap();
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public java.lang.String getParametersOrDefault(
java.lang.String key,
java.lang.String defaultValue) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map<java.lang.String, java.lang.String> map =
internalGetParameters().getMap();
return map.containsKey(key) ? map.get(key) : defaultValue;
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public java.lang.String getParametersOrThrow(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map<java.lang.String, java.lang.String> map =
internalGetParameters().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
@ -480,6 +613,15 @@ public final class TraceProtocol {
if (((bitField0_ & 0x00000040) == 0x00000040)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 7, viewpointId_);
}
for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
: internalGetParameters().getMap().entrySet()) {
com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
parameters = ParametersDefaultEntryHolder.defaultEntry.newBuilderForType()
.setKey(entry.getKey())
.setValue(entry.getValue())
.build();
output.writeMessage(8, parameters);
}
unknownFields.writeTo(output);
}
@ -512,6 +654,16 @@ public final class TraceProtocol {
if (((bitField0_ & 0x00000040) == 0x00000040)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, viewpointId_);
}
for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
: internalGetParameters().getMap().entrySet()) {
com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
parameters = ParametersDefaultEntryHolder.defaultEntry.newBuilderForType()
.setKey(entry.getKey())
.setValue(entry.getValue())
.build();
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(8, parameters);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@ -564,6 +716,8 @@ public final class TraceProtocol {
result = result && getViewpointId()
.equals(other.getViewpointId());
}
result = result && internalGetParameters().equals(
other.internalGetParameters());
result = result && unknownFields.equals(other.unknownFields);
return result;
}
@ -604,6 +758,10 @@ public final class TraceProtocol {
hash = (37 * hash) + VIEWPOINTID_FIELD_NUMBER;
hash = (53 * hash) + getViewpointId().hashCode();
}
if (!internalGetParameters().getMap().isEmpty()) {
hash = (37 * hash) + PARAMETERS_FIELD_NUMBER;
hash = (53 * hash) + internalGetParameters().hashCode();
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@ -698,6 +856,28 @@ public final class TraceProtocol {
return com.ai.cloud.skywalking.protocol.proto.TraceProtocol.internal_static_AckSpan_descriptor;
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapField internalGetMapField(
int number) {
switch (number) {
case 8:
return internalGetParameters();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapField internalGetMutableMapField(
int number) {
switch (number) {
case 8:
return internalGetMutableParameters();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.ai.cloud.skywalking.protocol.proto.TraceProtocol.internal_static_AckSpan_fieldAccessorTable
@ -736,6 +916,7 @@ public final class TraceProtocol {
bitField0_ = (bitField0_ & ~0x00000020);
viewpointId_ = "";
bitField0_ = (bitField0_ & ~0x00000040);
internalGetMutableParameters().clear();
return this;
}
@ -788,6 +969,8 @@ public final class TraceProtocol {
to_bitField0_ |= 0x00000040;
}
result.viewpointId_ = viewpointId_;
result.parameters_ = internalGetParameters();
result.parameters_.makeImmutable();
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
@ -859,6 +1042,8 @@ public final class TraceProtocol {
viewpointId_ = other.viewpointId_;
onChanged();
}
internalGetMutableParameters().mergeFrom(
other.internalGetParameters());
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@ -1301,6 +1486,125 @@ public final class TraceProtocol {
onChanged();
return this;
}
private com.google.protobuf.MapField<
java.lang.String, java.lang.String> parameters_;
private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetParameters() {
if (parameters_ == null) {
return com.google.protobuf.MapField.emptyMapField(
ParametersDefaultEntryHolder.defaultEntry);
}
return parameters_;
}
private com.google.protobuf.MapField<java.lang.String, java.lang.String>
internalGetMutableParameters() {
onChanged();;
if (parameters_ == null) {
parameters_ = com.google.protobuf.MapField.newMapField(
ParametersDefaultEntryHolder.defaultEntry);
}
if (!parameters_.isMutable()) {
parameters_ = parameters_.copy();
}
return parameters_;
}
public int getParametersCount() {
return internalGetParameters().getMap().size();
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public boolean containsParameters(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
return internalGetParameters().getMap().containsKey(key);
}
/**
* Use {@link #getParametersMap()} instead.
*/
@java.lang.Deprecated
public java.util.Map<java.lang.String, java.lang.String> getParameters() {
return getParametersMap();
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public java.util.Map<java.lang.String, java.lang.String> getParametersMap() {
return internalGetParameters().getMap();
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public java.lang.String getParametersOrDefault(
java.lang.String key,
java.lang.String defaultValue) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map<java.lang.String, java.lang.String> map =
internalGetParameters().getMap();
return map.containsKey(key) ? map.get(key) : defaultValue;
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public java.lang.String getParametersOrThrow(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map<java.lang.String, java.lang.String> map =
internalGetParameters().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
public Builder clearParameters() {
getMutableParameters().clear();
return this;
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public Builder removeParameters(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
getMutableParameters().remove(key);
return this;
}
/**
* Use alternate mutation accessors instead.
*/
@java.lang.Deprecated
public java.util.Map<java.lang.String, java.lang.String>
getMutableParameters() {
return internalGetMutableParameters().getMutableMap();
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public Builder putParameters(
java.lang.String key,
java.lang.String value) {
if (key == null) { throw new java.lang.NullPointerException(); }
if (value == null) { throw new java.lang.NullPointerException(); }
getMutableParameters().put(key, value);
return this;
}
/**
* <code>map&lt;string, string&gt; parameters = 8;</code>
*/
public Builder putAllParameters(
java.util.Map<java.lang.String, java.lang.String> values) {
getMutableParameters().putAll(values);
return this;
}
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
@ -4199,6 +4503,11 @@ public final class TraceProtocol {
private static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_AckSpan_fieldAccessorTable;
private static final com.google.protobuf.Descriptors.Descriptor
internal_static_AckSpan_ParametersEntry_descriptor;
private static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_AckSpan_ParametersEntry_fieldAccessorTable;
private static final com.google.protobuf.Descriptors.Descriptor
internal_static_RequestSpan_descriptor;
private static final
@ -4218,21 +4527,24 @@ public final class TraceProtocol {
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\023TraceProtocol.proto\"\217\001\n\007AckSpan\022\017\n\007tra" +
"\n\023TraceProtocol.proto\"\360\001\n\007AckSpan\022\017\n\007tra" +
"ceId\030\001 \002(\t\022\023\n\013parentLevel\030\002 \001(\t\022\017\n\007level" +
"Id\030\003 \002(\005\022\014\n\004cost\030\004 \002(\003\022\022\n\nstatusCode\030\005 \002" +
"(\005\022\026\n\016exceptionStack\030\006 \001(\t\022\023\n\013viewpointI" +
"d\030\007 \002(\t\"\375\002\n\013RequestSpan\022\017\n\007traceId\030\001 \002(\t" +
"\022\023\n\013parentLevel\030\002 \001(\t\022\017\n\007levelId\030\003 \002(\005\022\023" +
"\n\013viewPointId\030\004 \002(\t\022\021\n\tstartDate\030\005 \002(\003\022\024" +
"\n\014spanTypeDesc\030\006 \002(\t\022\020\n\010callType\030\007 \002(\t\022\020" +
"\n\010spanType\030\010 \002(\r\022\025\n\rapplicationId\030\t \002(\t\022" +
"\016\n\006userId\030\n \002(\t\022\024\n\014bussinessKey\030\013 \001(\t\022\017\n",
"\007agentId\030\014 \002(\t\0220\n\nparameters\030\r \003(\0132\034.Req" +
"uestSpan.ParametersEntry\022\021\n\tprocessNo\030\016 " +
"\002(\t\022\017\n\007address\030\017 \002(\t\0321\n\017ParametersEntry\022" +
"\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001B(\n&com.a" +
"i.cloud.skywalking.protocol.proto"
"d\030\007 \002(\t\022,\n\nparameters\030\010 \003(\0132\030.AckSpan.Pa" +
"rametersEntry\0321\n\017ParametersEntry\022\013\n\003key\030" +
"\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\375\002\n\013RequestSpan" +
"\022\017\n\007traceId\030\001 \002(\t\022\023\n\013parentLevel\030\002 \001(\t\022\017" +
"\n\007levelId\030\003 \002(\005\022\023\n\013viewPointId\030\004 \002(\t\022\021\n\t" +
"startDate\030\005 \002(\003\022\024\n\014spanTypeDesc\030\006 \002(\t\022\020\n",
"\010callType\030\007 \002(\t\022\020\n\010spanType\030\010 \002(\r\022\025\n\rapp" +
"licationId\030\t \002(\t\022\016\n\006userId\030\n \002(\t\022\024\n\014buss" +
"inessKey\030\013 \001(\t\022\017\n\007agentId\030\014 \002(\t\0220\n\nparam" +
"eters\030\r \003(\0132\034.RequestSpan.ParametersEntr" +
"y\022\021\n\tprocessNo\030\016 \002(\t\022\017\n\007address\030\017 \002(\t\0321\n" +
"\017ParametersEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" +
" \001(\t:\0028\001B(\n&com.ai.cloud.skywalking.prot" +
"ocol.proto"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
@ -4251,7 +4563,13 @@ public final class TraceProtocol {
internal_static_AckSpan_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_AckSpan_descriptor,
new java.lang.String[] { "TraceId", "ParentLevel", "LevelId", "Cost", "StatusCode", "ExceptionStack", "ViewpointId", });
new java.lang.String[] { "TraceId", "ParentLevel", "LevelId", "Cost", "StatusCode", "ExceptionStack", "ViewpointId", "Parameters", });
internal_static_AckSpan_ParametersEntry_descriptor =
internal_static_AckSpan_descriptor.getNestedTypes().get(0);
internal_static_AckSpan_ParametersEntry_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_AckSpan_ParametersEntry_descriptor,
new java.lang.String[] { "Key", "Value", });
internal_static_RequestSpan_descriptor =
getDescriptor().getMessageTypes().get(1);
internal_static_RequestSpan_fieldAccessorTable = new

View File

@ -122,14 +122,6 @@ public class AckSpan extends AbstractDataSerializable {
this.exceptionStack = exceptionStack;
}
public Map<String, String> getParamters() {
return paramters;
}
public void setParamters(Map<String, String> paramters) {
this.paramters = paramters;
}
@Override
public int getDataType() {
return 2;
@ -137,9 +129,15 @@ public class AckSpan extends AbstractDataSerializable {
@Override
public byte[] getData() {
return TraceProtocol.AckSpan.newBuilder().setTraceId(traceId).setParentLevel(parentLevel).
TraceProtocol.AckSpan.Builder builder = TraceProtocol.AckSpan.newBuilder().setTraceId(traceId).setParentLevel(parentLevel).
setLevelId(levelId).setCost(cost).setViewpointId(viewPointId).setStatusCode(statusCode)
.setExceptionStack(exceptionStack).build().toByteArray();
.setExceptionStack(exceptionStack);
if (paramters != null && paramters.size() > 0){
builder.putAllParameters(paramters);
}
return builder.build().toByteArray();
}
@Override
@ -154,6 +152,7 @@ public class AckSpan extends AbstractDataSerializable {
ackSpan.setExceptionStack(ackSpanProtocol.getExceptionStack());
ackSpan.setStatusCode((byte) ackSpanProtocol.getStatusCode());
ackSpan.viewPointId = ackSpanProtocol.getViewpointId();
ackSpan.paramters = ackSpanProtocol.getParametersMap();
} catch (InvalidProtocolBufferException e) {
throw new ConvertFailedException(e.getMessage(),e);
}

View File

@ -221,7 +221,7 @@ public class RequestSpan extends AbstractDataSerializable {
}
if (parameters != null && parameters.size() > 0) {
builder.getParametersMap().putAll(parameters);
builder.putAllParameters(parameters);
}
return builder.setCallType(callType).setApplicationId(applicationId).setUserId(userId).setAgentId(agentId)

View File

@ -209,6 +209,9 @@ public class Span {
}
public void setInvokeResult(String result){
if (result == null){
result = "";
}
this.parameters.put(INVOKE_RESULT_PARAMETER_KEY, result);
}

View File

@ -10,6 +10,7 @@ message AckSpan {
required int32 statusCode = 5;
optional string exceptionStack = 6;
required string viewpointId = 7;
map<string,string> parameters = 8;
}
message RequestSpan {

View File

@ -56,7 +56,7 @@ public abstract class AbstractSpanProcessor implements IProcessor {
@Override
public void process(List<AbstractDataSerializable> serializedObjects) {
//doAlarm(serializedObjects);
doAlarm(serializedObjects);
doSaveHBase(connection, serializedObjects);
}

View File

@ -47,7 +47,6 @@ public class AckSpanProcessor extends AbstractSpanProcessor {
String columnName;
for (AbstractDataSerializable serializedObject : serializedObjects) {
AckSpan ackSpan = (AckSpan) serializedObject;
System.out.println(ackSpan.getTraceId() + "-ACK:" + ackSpan.getViewPointId());
Put put = new Put(Bytes.toBytes(ackSpan.getTraceId()), getTSBySpanTraceId(ackSpan.getTraceId()));
if (StringUtils.isEmpty(ackSpan.getParentLevel().trim())) {
columnName = ackSpan.getLevelId() + "";

View File

@ -31,9 +31,6 @@ public class RequestSpanProcessor extends AbstractSpanProcessor {
String columnName;
for (AbstractDataSerializable serializedObject : serializedObjects) {
RequestSpan requestSpan = (RequestSpan) serializedObject;
System.out.println(
requestSpan.getTraceId() + ":" + requestSpan.getParentLevel() + "." + requestSpan.getLevelId() + ":"
+ requestSpan.getViewPointId());
Put put = new Put(Bytes.toBytes(requestSpan.getTraceId()), getTSBySpanTraceId(requestSpan.getTraceId()));
if (StringUtils.isEmpty(requestSpan.getParentLevel().trim())) {
columnName = requestSpan.getLevelId() + "";

View File

@ -27,6 +27,7 @@ public class Constants {
put("J", "JDBC");
put("W", "WEB");
put("D", "DUBBO");
put("L", "LOCAL");
put("U", "UNKNOWN");
}
};