From 0a4ac940e41f20dccbae96d0e4d29c90f2317dda Mon Sep 17 00:00:00 2001 From: wusheng Date: Fri, 21 Apr 2017 14:21:25 +0800 Subject: [PATCH] =?UTF-8?q?As=20collector=20is=20using=20jdk8,=20no=20need?= =?UTF-8?q?=20of=20long=20list=20=E2=80=9Cif=E2=80=A6else=E2=80=9D.=20Remo?= =?UTF-8?q?ve=20some=20=E2=80=9Ce.printstaktrace=E2=80=9D.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worker/httpserver/AbstractGet.java | 4 +- .../worker/segment/entity/LogData.java | 38 ++--- .../worker/segment/entity/Segment.java | 117 +++++++------- .../collector/worker/segment/entity/Span.java | 143 ++++++++++-------- .../segment/entity/TraceSegmentRef.java | 43 +++--- 5 files changed, 183 insertions(+), 162 deletions(-) diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/httpserver/AbstractGet.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/httpserver/AbstractGet.java index 0e081093e1..b7bb77a9db 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/httpserver/AbstractGet.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/httpserver/AbstractGet.java @@ -18,12 +18,12 @@ public abstract class AbstractGet extends AbstractLocalSyncWorker { super(role, clusterContext, selfContext); } - @Override final public void onWork(Object request, Object response) throws Exception { + @Override + final public void onWork(Object request, Object response) throws Exception { Map parameterMap = (Map)request; try { onSearch(parameterMap, (JsonObject)response); } catch (Exception e) { - e.printStackTrace(); ((JsonObject)response).addProperty("isSuccess", false); ((JsonObject)response).addProperty("reason", e.getMessage()); } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/LogData.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/LogData.java index 91ee290291..1d2216dc6f 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/LogData.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/LogData.java @@ -28,24 +28,26 @@ public class LogData extends DeserializeObject { boolean first = true; reader.beginObject(); while (reader.hasNext()) { - String name = reader.nextName(); - if (name.equals("tm")) { - Long tm = reader.nextLong(); - this.time = tm; - JsonBuilder.INSTANCE.append(stringBuilder, "tm", tm, first); - } else if (name.equals("fi")) { - fields = new HashMap<>(); - reader.beginObject(); - - while (reader.hasNext()) { - String key = reader.nextName(); - String value = reader.nextString(); - fields.put(key, value); - } - reader.endObject(); - JsonBuilder.INSTANCE.append(stringBuilder, "fi", fields, first); - } else { - reader.skipValue(); + switch (reader.nextName()) { + case "tm": + Long tm = reader.nextLong(); + this.time = tm; + JsonBuilder.INSTANCE.append(stringBuilder, "tm", tm, first); + break; + case "fi": + fields = new HashMap<>(); + reader.beginObject(); + + while (reader.hasNext()) { + String key = reader.nextName(); + String value = reader.nextString(); + fields.put(key, value); + } + reader.endObject(); + JsonBuilder.INSTANCE.append(stringBuilder, "fi", fields, first); + break; + default: + reader.skipValue(); } first = false; } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/Segment.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/Segment.java index 2726a3b387..4a1493df6a 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/Segment.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/Segment.java @@ -53,61 +53,68 @@ public class Segment extends DeserializeObject { boolean first = true; reader.beginObject(); while (reader.hasNext()) { - String name = reader.nextName(); - if (name.equals("ts")) { - String ts = reader.nextString(); - this.traceSegmentId = ts; - JsonBuilder.INSTANCE.append(stringBuilder, "ts", ts, first); - } else if (name.equals("ac")) { - String ac = reader.nextString(); - this.applicationCode = ac; - JsonBuilder.INSTANCE.append(stringBuilder, "ac", ac, first); - } else if (name.equals("st")) { - long st = reader.nextLong(); - this.startTime = st; - JsonBuilder.INSTANCE.append(stringBuilder, "st", st, first); - } else if (name.equals("et")) { - long et = reader.nextLong(); - this.endTime = et; - JsonBuilder.INSTANCE.append(stringBuilder, "et", et, first); - } else if (name.equals("rs")) { - refs = new ArrayList<>(); - reader.beginArray(); - - while (reader.hasNext()) { - TraceSegmentRef ref = new TraceSegmentRef(); - ref.deserialize(reader); - refs.add(ref); - } - - reader.endArray(); - JsonBuilder.INSTANCE.append(stringBuilder, "rs", refs, first); - } else if (name.equals("ss")) { - spans = new ArrayList<>(); - reader.beginArray(); - - while (reader.hasNext()) { - Span span = new Span(); - span.deserialize(reader); - spans.add(span); - } - - reader.endArray(); - JsonBuilder.INSTANCE.append(stringBuilder, "ss", spans, first); - } else if (name.equals("gt")) { - relatedGlobalTraces = new ArrayList<>(); - reader.beginArray(); - - while (reader.hasNext()) { - GlobalTraceId globalTraceId = new GlobalTraceId(); - globalTraceId.deserialize(reader); - relatedGlobalTraces.add(globalTraceId); - } - JsonBuilder.INSTANCE.append(stringBuilder, "gt", relatedGlobalTraces, first); - - reader.endArray(); - } else { - reader.skipValue(); + switch (reader.nextName()) { + case "ts": + String ts = reader.nextString(); + this.traceSegmentId = ts; + JsonBuilder.INSTANCE.append(stringBuilder, "ts", ts, first); + break; + case "ac": + String ac = reader.nextString(); + this.applicationCode = ac; + JsonBuilder.INSTANCE.append(stringBuilder, "ac", ac, first); + break; + case "st": + long st = reader.nextLong(); + this.startTime = st; + JsonBuilder.INSTANCE.append(stringBuilder, "st", st, first); + break; + case "et": + long et = reader.nextLong(); + this.endTime = et; + JsonBuilder.INSTANCE.append(stringBuilder, "et", et, first); + break; + case "rs": + refs = new ArrayList<>(); + reader.beginArray(); + + while (reader.hasNext()) { + TraceSegmentRef ref = new TraceSegmentRef(); + ref.deserialize(reader); + refs.add(ref); + } + + reader.endArray(); + JsonBuilder.INSTANCE.append(stringBuilder, "rs", refs, first); + break; + case "ss": + spans = new ArrayList<>(); + reader.beginArray(); + + while (reader.hasNext()) { + Span span = new Span(); + span.deserialize(reader); + spans.add(span); + } + + reader.endArray(); + JsonBuilder.INSTANCE.append(stringBuilder, "ss", spans, first); + break; + case "gt": + relatedGlobalTraces = new ArrayList<>(); + reader.beginArray(); + + while (reader.hasNext()) { + GlobalTraceId globalTraceId = new GlobalTraceId(); + globalTraceId.deserialize(reader); + relatedGlobalTraces.add(globalTraceId); + } + JsonBuilder.INSTANCE.append(stringBuilder, "gt", relatedGlobalTraces, first); + + reader.endArray(); + break; + default: + reader.skipValue(); } first = false; } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/Span.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/Span.java index 8296c9b1bf..d003d17e58 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/Span.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/Span.java @@ -65,73 +65,82 @@ public class Span extends DeserializeObject { boolean first = true; reader.beginObject(); while (reader.hasNext()) { - String name = reader.nextName(); - if (name.equals("si")) { - Integer si = reader.nextInt(); - this.spanId = si; - JsonBuilder.INSTANCE.append(stringBuilder, "si", si, first); - } else if (name.equals("ps")) { - Integer ps = reader.nextInt(); - this.parentSpanId = ps; - JsonBuilder.INSTANCE.append(stringBuilder, "ps", ps, first); - } else if (name.equals("st")) { - Long st = reader.nextLong(); - this.startTime = st; - JsonBuilder.INSTANCE.append(stringBuilder, "st", st, first); - } else if (name.equals("et")) { - Long et = reader.nextLong(); - this.endTime = et; - JsonBuilder.INSTANCE.append(stringBuilder, "et", et, first); - } else if (name.equals("on")) { - String on = reader.nextString(); - this.operationName = on; - JsonBuilder.INSTANCE.append(stringBuilder, "on", on, first); - } else if (name.equals("ts")) { - tagsWithStr = new HashMap<>(); - reader.beginObject(); - - while (reader.hasNext()) { - String key = reader.nextName(); - String value = reader.nextString(); - tagsWithStr.put(key, value); - } - reader.endObject(); - JsonBuilder.INSTANCE.append(stringBuilder, "ts", tagsWithStr, first); - } else if (name.equals("tb")) { - tagsWithBool = new HashMap<>(); - reader.beginObject(); - - while (reader.hasNext()) { - String key = reader.nextName(); - boolean value = reader.nextBoolean(); - tagsWithBool.put(key, value); - } - reader.endObject(); - JsonBuilder.INSTANCE.append(stringBuilder, "tb", tagsWithBool, first); - } else if (name.equals("ti")) { - tagsWithInt = new HashMap<>(); - reader.beginObject(); - - while (reader.hasNext()) { - String key = reader.nextName(); - Integer value = reader.nextInt(); - tagsWithInt.put(key, value); - } - reader.endObject(); - JsonBuilder.INSTANCE.append(stringBuilder, "ti", tagsWithInt, first); - } else if (name.equals("lo")) { - logs = new ArrayList<>(); - reader.beginArray(); - - while (reader.hasNext()) { - LogData logData = new LogData(); - logData.deserialize(reader); - logs.add(logData); - } - reader.endArray(); - JsonBuilder.INSTANCE.append(stringBuilder, "lo", logs, first); - } else { - reader.skipValue(); + switch (reader.nextName()) { + case "si": + Integer si = reader.nextInt(); + this.spanId = si; + JsonBuilder.INSTANCE.append(stringBuilder, "si", si, first); + break; + case "ps": + Integer ps = reader.nextInt(); + this.parentSpanId = ps; + JsonBuilder.INSTANCE.append(stringBuilder, "ps", ps, first); + break; + case "st": + Long st = reader.nextLong(); + this.startTime = st; + JsonBuilder.INSTANCE.append(stringBuilder, "st", st, first); + break; + case "et": + Long et = reader.nextLong(); + this.endTime = et; + JsonBuilder.INSTANCE.append(stringBuilder, "et", et, first); + break; + case "on": + String on = reader.nextString(); + this.operationName = on; + JsonBuilder.INSTANCE.append(stringBuilder, "on", on, first); + break; + case "ts": + tagsWithStr = new HashMap<>(); + reader.beginObject(); + + while (reader.hasNext()) { + String key = reader.nextName(); + String value = reader.nextString(); + tagsWithStr.put(key, value); + } + reader.endObject(); + JsonBuilder.INSTANCE.append(stringBuilder, "ts", tagsWithStr, first); + break; + case "tb": + tagsWithBool = new HashMap<>(); + reader.beginObject(); + + while (reader.hasNext()) { + String key = reader.nextName(); + boolean value = reader.nextBoolean(); + tagsWithBool.put(key, value); + } + reader.endObject(); + JsonBuilder.INSTANCE.append(stringBuilder, "tb", tagsWithBool, first); + break; + case "ti": + tagsWithInt = new HashMap<>(); + reader.beginObject(); + + while (reader.hasNext()) { + String key = reader.nextName(); + Integer value = reader.nextInt(); + tagsWithInt.put(key, value); + } + reader.endObject(); + JsonBuilder.INSTANCE.append(stringBuilder, "ti", tagsWithInt, first); + break; + case "lo": + logs = new ArrayList<>(); + reader.beginArray(); + + while (reader.hasNext()) { + LogData logData = new LogData(); + logData.deserialize(reader); + logs.add(logData); + } + reader.endArray(); + JsonBuilder.INSTANCE.append(stringBuilder, "lo", logs, first); + break; + default: + reader.skipValue(); } first = false; } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/TraceSegmentRef.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/TraceSegmentRef.java index f6d5b40fff..e710e6edfb 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/TraceSegmentRef.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/entity/TraceSegmentRef.java @@ -1,7 +1,6 @@ package com.a.eye.skywalking.collector.worker.segment.entity; import com.google.gson.stream.JsonReader; - import java.io.IOException; /** @@ -40,25 +39,29 @@ public class TraceSegmentRef extends DeserializeObject { boolean first = true; reader.beginObject(); while (reader.hasNext()) { - String name = reader.nextName(); - if (name.equals("ts")) { - String ts = reader.nextString(); - this.traceSegmentId = ts; - JsonBuilder.INSTANCE.append(stringBuilder, "ts", ts, first); - } else if (name.equals("si")) { - Integer si = reader.nextInt(); - this.spanId = si; - JsonBuilder.INSTANCE.append(stringBuilder, "si", si, first); - } else if (name.equals("ac")) { - String ac = reader.nextString(); - this.applicationCode = ac; - JsonBuilder.INSTANCE.append(stringBuilder, "ac", ac, first); - } else if (name.equals("ph")) { - String ph = reader.nextString(); - this.peerHost = ph; - JsonBuilder.INSTANCE.append(stringBuilder, "ph", ph, first); - } else { - reader.skipValue(); + switch (reader.nextName()) { + case "rs": + String ts = reader.nextString(); + this.traceSegmentId = ts; + JsonBuilder.INSTANCE.append(stringBuilder, "ts", ts, first); + break; + case "si": + Integer si = reader.nextInt(); + this.spanId = si; + JsonBuilder.INSTANCE.append(stringBuilder, "si", si, first); + break; + case "ac": + String ac = reader.nextString(); + this.applicationCode = ac; + JsonBuilder.INSTANCE.append(stringBuilder, "ac", ac, first); + break; + case "ph": + String ph = reader.nextString(); + this.peerHost = ph; + JsonBuilder.INSTANCE.append(stringBuilder, "ph", ph, first); + break; + default: + reader.skipValue(); } first = false; } -- GitLab