diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceGetWithGlobalId.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceGetWithGlobalId.java index da48921fb..38eee9fa5 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceGetWithGlobalId.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/globaltrace/GlobalTraceGetWithGlobalId.java @@ -40,7 +40,7 @@ public class GlobalTraceGetWithGlobalId extends AbstractGet { } logger.debug("globalId: %s", Arrays.toString(request.get("globalId"))); - String globalId = ParameterTools.toString(request, "globalId"); + String globalId = ParameterTools.INSTANCE.toString(request, "globalId"); getSelfContext().lookup(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE).ask(globalId, response); } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefGetWithTimeSlice.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefGetWithTimeSlice.java index d7ef9d57d..d02326b7a 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefGetWithTimeSlice.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefGetWithTimeSlice.java @@ -43,20 +43,20 @@ public class NodeRefGetWithTimeSlice extends AbstractGet { long startTime; try { - startTime = Long.valueOf(ParameterTools.toString(request, "startTime")); + startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter startTime must numeric with long type"); } long endTime; try { - endTime = Long.valueOf(ParameterTools.toString(request, "endTime")); + endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter endTime must numeric with long type"); } NodeRefSearchWithTimeSlice.RequestEntity requestEntity; - requestEntity = new NodeRefSearchWithTimeSlice.RequestEntity(ParameterTools.toString(request, "timeSliceType"), startTime, endTime); + requestEntity = new NodeRefSearchWithTimeSlice.RequestEntity(ParameterTools.INSTANCE.toString(request, "timeSliceType"), startTime, endTime); getSelfContext().lookup(NodeRefSearchWithTimeSlice.WorkerRole.INSTANCE).ask(requestEntity, response); } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSlice.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSlice.java index 3268b7b18..734005b2c 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSlice.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSlice.java @@ -43,20 +43,20 @@ public class NodeRefResSumGetGroupWithTimeSlice extends AbstractGet { long startTime; try { - startTime = Long.valueOf(ParameterTools.toString(request, "startTime")); + startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter startTime must numeric with long type"); } long endTime; try { - endTime = Long.valueOf(ParameterTools.toString(request, "endTime")); + endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter endTime must numeric with long type"); } NodeRefResSumGroupWithTimeSlice.RequestEntity requestEntity; - requestEntity = new NodeRefResSumGroupWithTimeSlice.RequestEntity(ParameterTools.toString(request, "timeSliceType"), startTime, endTime); + requestEntity = new NodeRefResSumGroupWithTimeSlice.RequestEntity(ParameterTools.INSTANCE.toString(request, "timeSliceType"), startTime, endTime); getSelfContext().lookup(NodeRefResSumGroupWithTimeSlice.WorkerRole.INSTANCE).ask(requestEntity, response); } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumGetWithTimeSlice.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumGetWithTimeSlice.java index de025741d..758ddda51 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumGetWithTimeSlice.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/noderef/NodeRefResSumGetWithTimeSlice.java @@ -43,20 +43,20 @@ public class NodeRefResSumGetWithTimeSlice extends AbstractGet { long startTime; try { - startTime = Long.valueOf(ParameterTools.toString(request, "startTime")); + startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter startTime must numeric with long type"); } long endTime; try { - endTime = Long.valueOf(ParameterTools.toString(request, "endTime")); + endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter endTime must numeric with long type"); } NodeRefResSumSearchWithTimeSlice.RequestEntity requestEntity; - requestEntity = new NodeRefResSumSearchWithTimeSlice.RequestEntity(ParameterTools.toString(request, "timeSliceType"), startTime, endTime); + requestEntity = new NodeRefResSumSearchWithTimeSlice.RequestEntity(ParameterTools.INSTANCE.toString(request, "timeSliceType"), startTime, endTime); getSelfContext().lookup(NodeRefResSumSearchWithTimeSlice.WorkerRole.INSTANCE).ask(requestEntity, response); } diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentTopGetWithGlobalTraceId.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentTopGetWithGlobalTraceId.java index bf19a2d83..f7f0a3746 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentTopGetWithGlobalTraceId.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentTopGetWithGlobalTraceId.java @@ -43,19 +43,19 @@ public class SegmentTopGetWithGlobalTraceId extends AbstractGet { int from = 0; try { - from = Integer.valueOf(ParameterTools.toString(request, "from")); + from = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "from")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter from must numeric with int type"); } int limit = 0; try { - limit = Integer.valueOf(ParameterTools.toString(request, "limit")); + limit = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "limit")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter from must numeric with int type"); } - String globalTraceId = ParameterTools.toString(request, "globalTraceId"); + String globalTraceId = ParameterTools.INSTANCE.toString(request, "globalTraceId"); SegmentTopSearchWithGlobalTraceId.RequestEntity requestEntity = new SegmentTopSearchWithGlobalTraceId.RequestEntity(globalTraceId, from, limit); getSelfContext().lookup(SegmentTopSearchWithGlobalTraceId.WorkerRole.INSTANCE).ask(requestEntity, response); diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentTopGetWithTimeSlice.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentTopGetWithTimeSlice.java index 999685f0e..b363f0640 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentTopGetWithTimeSlice.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/segment/SegmentTopGetWithTimeSlice.java @@ -43,39 +43,39 @@ public class SegmentTopGetWithTimeSlice extends AbstractGet { long startTime; try { - startTime = Long.valueOf(ParameterTools.toString(request, "startTime")); + startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter startTime must numeric with long type"); } long endTime; try { - endTime = Long.valueOf(ParameterTools.toString(request, "endTime")); + endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter endTime must numeric with long type"); } int from = 0; try { - from = Integer.valueOf(ParameterTools.toString(request, "from")); + from = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "from")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter from must numeric with int type"); } int limit = 0; try { - limit = Integer.valueOf(ParameterTools.toString(request, "limit")); + limit = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "limit")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter from must numeric with int type"); } int minCost = -1; if (request.containsKey("minCost")) { - minCost = Integer.valueOf(ParameterTools.toString(request, "minCost")); + minCost = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "minCost")); } int maxCost = -1; if (request.containsKey("maxCost")) { - maxCost = Integer.valueOf(ParameterTools.toString(request, "maxCost")); + maxCost = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "maxCost")); } SegmentTopSearchWithTimeSlice.RequestEntity requestEntity; diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/span/SpanGetWithId.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/span/SpanGetWithId.java index e90f5c737..e5ff6cf99 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/span/SpanGetWithId.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/span/SpanGetWithId.java @@ -42,11 +42,11 @@ public class SpanGetWithId extends AbstractGet { int maxCost = -1; if (request.containsKey("maxCost")) { - maxCost = Integer.valueOf(ParameterTools.toString(request, "maxCost")); + maxCost = Integer.valueOf(ParameterTools.INSTANCE.toString(request, "maxCost")); } - String segId = ParameterTools.toString(request, "segId"); - String spanId = ParameterTools.toString(request, "spanId"); + String segId = ParameterTools.INSTANCE.toString(request, "segId"); + String spanId = ParameterTools.INSTANCE.toString(request, "spanId"); SpanSearchWithId.RequestEntity requestEntity = new SpanSearchWithId.RequestEntity(segId, spanId); getSelfContext().lookup(SpanSearchWithId.WorkerRole.INSTANCE).ask(requestEntity, response); diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/DateTools.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/DateTools.java index fc01051e9..c5fcff2ca 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/DateTools.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/DateTools.java @@ -41,7 +41,9 @@ public class DateTools { } public static long changeToUTCSlice(long timeSlice) { - if (TimeZone.getDefault().getID().equals("GMT+08:00")) { + String timeSliceStr = String.valueOf(timeSlice); + + if (TimeZone.getDefault().getID().equals("GMT+08:00") || timeSliceStr.endsWith("0000")) { return timeSlice; } else { return timeSlice - 800; diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/ParameterTools.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/ParameterTools.java index 9301440db..d80458c4d 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/ParameterTools.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/ParameterTools.java @@ -5,9 +5,10 @@ import java.util.Map; /** * @author pengys5 */ -public class ParameterTools { +public enum ParameterTools { + INSTANCE; - public static String toString(Map request, String key) { + public String toString(Map request, String key) { if (request.get(key) != null) { return request.get(key)[0]; } else { diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tracedag/TraceDagGetWithTimeSlice.java b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tracedag/TraceDagGetWithTimeSlice.java index 41e1d317d..28cfac4f2 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tracedag/TraceDagGetWithTimeSlice.java +++ b/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tracedag/TraceDagGetWithTimeSlice.java @@ -50,19 +50,19 @@ public class TraceDagGetWithTimeSlice extends AbstractGet { long startTime; try { - startTime = Long.valueOf(ParameterTools.toString(request, "startTime")); + startTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "startTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter startTime must numeric with long type"); } long endTime; try { - endTime = Long.valueOf(ParameterTools.toString(request, "endTime")); + endTime = Long.valueOf(ParameterTools.INSTANCE.toString(request, "endTime")); } catch (NumberFormatException e) { throw new IllegalArgumentException("the request parameter endTime must numeric with long type"); } - String timeSliceType = ParameterTools.toString(request, "timeSliceType"); + String timeSliceType = ParameterTools.INSTANCE.toString(request, "timeSliceType"); JsonObject compResponse = new JsonObject(); getSelfContext().lookup(NodeCompLoad.WorkerRole.INSTANCE).ask(null, compResponse); diff --git a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/HttpClientTools.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/HttpClientTools.java similarity index 98% rename from skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/HttpClientTools.java rename to skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/HttpClientTools.java index 84d0d0530..ce28e6729 100644 --- a/skywalking-collector/skywalking-collector-worker/src/main/java/com/a/eye/skywalking/collector/worker/tools/HttpClientTools.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/HttpClientTools.java @@ -1,4 +1,4 @@ -package com.a.eye.skywalking.collector.worker.tools; +package com.a.eye.skywalking.collector.worker.segment; import org.apache.http.Consts; import org.apache.http.HttpEntity; diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentRealPost.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentRealPost.java index 90aa41ad7..f0c6cfdeb 100644 --- a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentRealPost.java +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/segment/SegmentRealPost.java @@ -1,7 +1,6 @@ package com.a.eye.skywalking.collector.worker.segment; import com.a.eye.skywalking.collector.worker.segment.mock.SegmentMock; -import com.a.eye.skywalking.collector.worker.tools.HttpClientTools; /** * @author pengys5 diff --git a/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/tools/ParameterToolsTestCase.java b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/tools/ParameterToolsTestCase.java new file mode 100644 index 000000000..7efbf3874 --- /dev/null +++ b/skywalking-collector/skywalking-collector-worker/src/test/java/com/a/eye/skywalking/collector/worker/tools/ParameterToolsTestCase.java @@ -0,0 +1,24 @@ +package com.a.eye.skywalking.collector.worker.tools; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author pengys5 + */ +public class ParameterToolsTestCase { + + @Test + public void testToString() { + Map request = new HashMap<>(); + String[] test = {"Test"}; + + request.put("Key", test); + + String value = ParameterTools.INSTANCE.toString(request, "Key"); + Assert.assertEquals("Test", value); + } +}