提交 4b78b860 编写于 作者: P peng-yongsheng

Merge branch 'fix/gRPC-1.8.0' into feature/alerting

......@@ -32,13 +32,11 @@ public class SegmentJsonReader implements StreamJsonReader<TraceSegmentObject.Bu
private final Logger logger = LoggerFactory.getLogger(SegmentJsonReader.class);
private UniqueIdJsonReader uniqueIdJsonReader = new UniqueIdJsonReader();
private ReferenceJsonReader referenceJsonReader = new ReferenceJsonReader();
private SpanJsonReader spanJsonReader = new SpanJsonReader();
private static final String TRACE_SEGMENT_ID = "ts";
private static final String APPLICATION_ID = "ai";
private static final String APPLICATION_INSTANCE_ID = "ii";
private static final String TRACE_SEGMENT_REFERENCE = "rs";
private static final String SPANS = "ss";
@Override public TraceSegmentObject.Builder read(JsonReader reader) throws IOException {
......@@ -61,13 +59,6 @@ public class SegmentJsonReader implements StreamJsonReader<TraceSegmentObject.Bu
case APPLICATION_INSTANCE_ID:
builder.setApplicationInstanceId(reader.nextInt());
break;
case TRACE_SEGMENT_REFERENCE:
reader.beginArray();
while (reader.hasNext()) {
builder.addRefs(referenceJsonReader.read(reader));
}
reader.endArray();
break;
case SPANS:
reader.beginArray();
while (reader.hasNext()) {
......
......@@ -29,6 +29,7 @@ public class SpanJsonReader implements StreamJsonReader<SpanObject> {
private KeyWithStringValueJsonReader keyWithStringValueJsonReader = new KeyWithStringValueJsonReader();
private LogJsonReader logJsonReader = new LogJsonReader();
private ReferenceJsonReader referenceJsonReader = new ReferenceJsonReader();
private static final String SPAN_ID = "si";
private static final String SPAN_TYPE_VALUE = "tv";
......@@ -43,6 +44,7 @@ public class SpanJsonReader implements StreamJsonReader<SpanObject> {
private static final String PEER_ID = "pi";
private static final String PEER = "pn";
private static final String IS_ERROR = "ie";
private static final String TRACE_SEGMENT_REFERENCE = "rs";
private static final String TAGS = "to";
private static final String LOGS = "lo";
......@@ -91,6 +93,13 @@ public class SpanJsonReader implements StreamJsonReader<SpanObject> {
case IS_ERROR:
builder.setIsError(reader.nextBoolean());
break;
case TRACE_SEGMENT_REFERENCE:
reader.beginArray();
while (reader.hasNext()) {
builder.addRefs(referenceJsonReader.read(reader));
}
reader.endArray();
break;
case TAGS:
reader.beginArray();
while (reader.hasNext()) {
......
......@@ -28,11 +28,11 @@ import org.skywalking.apm.collector.agent.stream.parser.standardization.SegmentD
import org.skywalking.apm.collector.agent.stream.parser.standardization.SegmentStandardization;
import org.skywalking.apm.collector.agent.stream.parser.standardization.SpanDecorator;
import org.skywalking.apm.collector.agent.stream.parser.standardization.SpanIdExchanger;
import org.skywalking.apm.collector.agent.stream.worker.trace.global.GlobalTraceSpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.instance.InstanceMetricSpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.application.ApplicationComponentSpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.application.ApplicationMappingSpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.application.ApplicationReferenceMetricSpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.global.GlobalTraceSpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.instance.InstanceMetricSpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.segment.SegmentCostSpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.service.ServiceEntrySpanListener;
import org.skywalking.apm.collector.agent.stream.worker.trace.service.ServiceReferenceMetricSpanListener;
......@@ -119,20 +119,20 @@ public class SegmentParse {
int applicationId = segmentDecorator.getApplicationId();
int applicationInstanceId = segmentDecorator.getApplicationInstanceId();
for (int i = 0; i < segmentDecorator.getRefsCount(); i++) {
ReferenceDecorator referenceDecorator = segmentDecorator.getRefs(i);
if (!ReferenceIdExchanger.getInstance(moduleManager).exchange(referenceDecorator, applicationId)) {
return false;
}
notifyRefsListener(referenceDecorator, applicationId, applicationInstanceId, segmentId);
}
for (int i = 0; i < segmentDecorator.getSpansCount(); i++) {
SpanDecorator spanDecorator = segmentDecorator.getSpans(i);
if (!SpanIdExchanger.getInstance(moduleManager).exchange(spanDecorator, applicationId)) {
return false;
} else {
for (int j = 0; j < spanDecorator.getRefsCount(); j++) {
ReferenceDecorator referenceDecorator = spanDecorator.getRefs(j);
if (!ReferenceIdExchanger.getInstance(moduleManager).exchange(referenceDecorator, applicationId)) {
return false;
}
notifyRefsListener(referenceDecorator, applicationId, applicationInstanceId, segmentId);
}
}
if (spanDecorator.getSpanId() == 0) {
......
......@@ -57,18 +57,6 @@ public class SegmentDecorator implements StandardBuilder {
}
}
public int getRefsCount() {
return segmentObject.getRefsCount();
}
public ReferenceDecorator getRefs(int index) {
if (isOrigin) {
return new ReferenceDecorator(segmentObject.getRefs(index), this);
} else {
return new ReferenceDecorator(segmentBuilder.getRefsBuilder(index), this);
}
}
public byte[] toByteArray() {
if (isOrigin) {
return segmentObject.toByteArray();
......
......@@ -190,6 +190,18 @@ public class SpanDecorator implements StandardBuilder {
}
}
public int getRefsCount() {
return spanObject.getRefsCount();
}
public ReferenceDecorator getRefs(int index) {
if (isOrigin) {
return new ReferenceDecorator(spanObject.getRefs(index), this);
} else {
return new ReferenceDecorator(spanBuilder.getRefsBuilder(index), this);
}
}
@Override public void toBuilder() {
if (this.isOrigin) {
this.isOrigin = false;
......
......@@ -36,7 +36,6 @@ public class ServiceMetricEsTableDefine extends ElasticSearchTableDefine {
}
@Override public void initialize() {
addColumn(new ElasticSearchColumnDefine(ServiceMetricTable.COLUMN_AGG, ElasticSearchColumnDefine.Type.Keyword.name()));
addColumn(new ElasticSearchColumnDefine(ServiceMetricTable.COLUMN_SERVICE_ID, ElasticSearchColumnDefine.Type.Integer.name()));
addColumn(new ElasticSearchColumnDefine(ServiceMetricTable.COLUMN_TRANSACTION_CALLS, ElasticSearchColumnDefine.Type.Long.name()));
......
......@@ -35,8 +35,6 @@ import org.skywalking.apm.collector.storage.dao.IGlobalTraceUIDAO;
import org.skywalking.apm.collector.storage.dao.ISegmentUIDAO;
import org.skywalking.apm.network.proto.SpanObject;
import org.skywalking.apm.network.proto.TraceSegmentObject;
import org.skywalking.apm.network.proto.TraceSegmentReference;
import org.skywalking.apm.network.proto.UniqueId;
/**
* @author peng-yongsheng
......@@ -142,28 +140,28 @@ public class TraceStackService {
cost = 1;
}
if (parentSpanId == -1 && segment.getRefsCount() > 0) {
for (TraceSegmentReference reference : segment.getRefsList()) {
parentSpanId = reference.getParentSpanId();
UniqueId uniqueId = reference.getParentTraceSegmentId();
StringBuilder segmentIdBuilder = new StringBuilder();
for (int i = 0; i < uniqueId.getIdPartsList().size(); i++) {
if (i == 0) {
segmentIdBuilder.append(String.valueOf(uniqueId.getIdPartsList().get(i)));
} else {
segmentIdBuilder.append(".").append(String.valueOf(uniqueId.getIdPartsList().get(i)));
}
}
String parentSegmentId = segmentIdBuilder.toString();
segmentParentSpanId = parentSegmentId + Const.SEGMENT_SPAN_SPLIT + String.valueOf(parentSpanId);
spans.add(new Span(spanId, parentSpanId, segmentSpanId, segmentParentSpanId, startTime, operationName, applicationCode, cost));
}
} else {
spans.add(new Span(spanId, parentSpanId, segmentSpanId, segmentParentSpanId, startTime, operationName, applicationCode, cost));
}
// if (parentSpanId == -1 && segment.getRefsCount() > 0) {
// for (TraceSegmentReference reference : segment.getRefsList()) {
// parentSpanId = reference.getParentSpanId();
// UniqueId uniqueId = reference.getParentTraceSegmentId();
//
// StringBuilder segmentIdBuilder = new StringBuilder();
// for (int i = 0; i < uniqueId.getIdPartsList().size(); i++) {
// if (i == 0) {
// segmentIdBuilder.append(String.valueOf(uniqueId.getIdPartsList().get(i)));
// } else {
// segmentIdBuilder.append(".").append(String.valueOf(uniqueId.getIdPartsList().get(i)));
// }
// }
//
// String parentSegmentId = segmentIdBuilder.toString();
// segmentParentSpanId = parentSegmentId + Const.SEGMENT_SPAN_SPLIT + String.valueOf(parentSpanId);
//
// spans.add(new Span(spanId, parentSpanId, segmentSpanId, segmentParentSpanId, startTime, operationName, applicationCode, cost));
// }
// } else {
// spans.add(new Span(spanId, parentSpanId, segmentSpanId, segmentParentSpanId, startTime, operationName, applicationCode, cost));
// }
}
}
return spans;
......
......@@ -113,7 +113,7 @@
<protocArtifact>com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}
</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.7.0:exe:${os.detected.classifier}
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.8.0:exe:${os.detected.classifier}
</pluginArtifact>
</configuration>
<executions>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册