You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2020/04/17 08:13:17 UTC

[skywalking] 01/01: Add new query protocol handler and reformat the package based on query protocol.

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch metrics
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit 00761e828b4a3af33c8251d9b9cedf941ba095a6
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Fri Apr 17 16:12:07 2020 +0800

    Add new query protocol handler and reformat the package based on query protocol.
---
 .../oap/server/core/query/entity/Language.java     | 23 ----------------------
 .../Language.java}                                 |  8 ++++----
 .../server/core/query/enumeration/MetricsType.java |  4 ++++
 .../core/query/{entity => enumeration}/Order.java  |  2 +-
 .../core/query/{entity => enumeration}/Scope.java  | 10 ++++++++--
 .../core/query/{entity => enumeration}/Step.java   |  2 +-
 .../oap/server/core/query/input}/Duration.java     |  2 +-
 .../oap/server/core/query/input/Entity.java        |  4 ++++
 .../core/query/input}/LogQueryCondition.java       |  4 ++--
 .../server/core/query/input}/MetricCondition.java  |  0
 .../server/core/query/input/MetricsCondition.java  |  4 ++++
 .../query/input}/ProfileTaskCreationRequest.java   |  2 +-
 .../oap/server/core/query/input/TopNCondition.java |  4 ++++
 .../core/query/input}/TraceQueryCondition.java     |  6 +++---
 .../core/query/{entity => type}/AlarmMessage.java  |  2 +-
 .../core/query/{entity => type}/AlarmTrend.java    |  2 +-
 .../server/core/query/{entity => type}/Alarms.java |  2 +-
 .../core/query/{entity => type}/Attribute.java     |  2 +-
 .../core/query/{entity => type}/BasicTrace.java    |  2 +-
 .../oap/server/core/query/type/Bucket.java         |  4 ++++
 .../server/core/query/{entity => type}/Call.java   |  2 +-
 .../core/query/{entity => type}/ClusterBrief.java  |  2 +-
 .../core/query/{entity => type}/ContentType.java   |  2 +-
 .../core/query/{entity => type}/Database.java      |  2 +-
 .../core/query/{entity => type}/Endpoint.java      |  2 +-
 .../core/query/{entity => type}/EndpointInfo.java  |  2 +-
 .../oap/server/core/query/type/HeatMap.java        |  4 ++++
 .../core/query/{entity => type}/IntValues.java     |  2 +-
 .../server/core/query/{entity => type}/KVInt.java  |  2 +-
 .../core/query/{entity => type}/KeyValue.java      |  2 +-
 .../server/core/query/{entity => type}/Log.java    |  2 +-
 .../core/query/{entity => type}/LogEntity.java     |  2 +-
 .../core/query/{entity => type}/LogState.java      |  2 +-
 .../server/core/query/{entity => type}/Logs.java   |  2 +-
 .../oap/server/core/query/type/MetricsValues.java  |  4 ++++
 .../server/core/query/{entity => type}/Node.java   |  2 +-
 .../core/query/{entity => type}/Pagination.java    |  2 +-
 .../query/{entity => type}/ProfileAnalyzation.java |  2 +-
 .../{entity => type}/ProfileAnalyzeTimeRange.java  |  2 +-
 .../{entity => type}/ProfileStackElement.java      |  2 +-
 .../query/{entity => type}/ProfileStackTree.java   |  2 +-
 .../core/query/{entity => type}/ProfileTask.java   |  2 +-
 .../ProfileTaskCreationResult.java                 |  2 +-
 .../query/{entity => type}/ProfileTaskLog.java     |  2 +-
 .../ProfileTaskLogOperationType.java               |  2 +-
 .../query/{entity => type}/ProfiledSegment.java    |  2 +-
 .../core/query/{entity => type}/ProfiledSpan.java  |  2 +-
 .../core/query/{entity => type}/QueryOrder.java    |  2 +-
 .../server/core/query/{entity => type}/Ref.java    |  2 +-
 .../core/query/{entity => type}/RefType.java       |  2 +-
 .../Order.java => type/SelectedRecord.java}        |  5 ++---
 .../core/query/{entity => type}/Service.java       |  2 +-
 .../query/{entity => type}/ServiceInstance.java    |  2 +-
 .../{entity => type}/ServiceInstanceNode.java      |  2 +-
 .../{entity => type}/ServiceInstanceTopology.java  |  2 +-
 .../server/core/query/{entity => type}/Span.java   |  2 +-
 .../core/query/{entity => type}/Thermodynamic.java |  2 +-
 .../core/query/{entity => type}/TopNEntity.java    |  2 +-
 .../core/query/{entity => type}/TopNRecord.java    |  2 +-
 .../core/query/{entity => type}/Topology.java      |  2 +-
 .../server/core/query/{entity => type}/Trace.java  |  2 +-
 .../core/query/{entity => type}/TraceBrief.java    |  2 +-
 .../core/query/{entity => type}/TraceState.java    |  2 +-
 .../oap/query/graphql/resolver/MetricsQuery.java   |  4 ++++
 64 files changed, 100 insertions(+), 86 deletions(-)

diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Language.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Language.java
deleted file mode 100644
index ae8d83a..0000000
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Language.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.core.query.entity;
-
-public enum Language {
-    UNKNOWN, JAVA, DOTNET, NODEJS, PYTHON, RUBY, GO, LUA, PHP
-}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LanguageTrans.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Language.java
similarity index 87%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LanguageTrans.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Language.java
index 3403179..bba4401 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LanguageTrans.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Language.java
@@ -16,12 +16,12 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
-public enum LanguageTrans {
-    INSTANCE;
+public enum Language {
+    UNKNOWN, JAVA, DOTNET, NODEJS, PYTHON, RUBY, GO, LUA, PHP;
 
-    public Language value(String language) {
+    public static Language value(String language) {
         switch (language) {
             case "java":
                 return Language.JAVA;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/MetricsType.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/MetricsType.java
new file mode 100644
index 0000000..2299daa
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/MetricsType.java
@@ -0,0 +1,4 @@
+package org.apache.skywalking.oap.server.core.query.enumeration;
+
+public enum MetricsType {
+}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Order.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Order.java
similarity index 93%
copy from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Order.java
copy to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Order.java
index 52bd647..8739805 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Order.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Order.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 public enum Order {
     ASC, DES
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Scope.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Scope.java
similarity index 78%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Scope.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Scope.java
index e01006c..03cd696 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Scope.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Scope.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.HashMap;
 import lombok.Getter;
@@ -24,7 +24,13 @@ import org.apache.skywalking.oap.server.core.UnexpectedException;
 import org.apache.skywalking.oap.server.core.source.DefaultScopeDefine;
 
 public enum Scope {
-    Service(DefaultScopeDefine.SERVICE), ServiceInstance(DefaultScopeDefine.SERVICE_INSTANCE), Endpoint(DefaultScopeDefine.ENDPOINT), ServiceRelation(DefaultScopeDefine.SERVICE_RELATION), ServiceInstanceRelation(DefaultScopeDefine.SERVICE_INSTANCE_RELATION), EndpointRelation(DefaultScopeDefine.ENDPOINT_RELATION);
+    All(DefaultScopeDefine.ALL),
+    Service(DefaultScopeDefine.SERVICE),
+    ServiceInstance(DefaultScopeDefine.SERVICE_INSTANCE),
+    Endpoint(DefaultScopeDefine.ENDPOINT),
+    ServiceRelation(DefaultScopeDefine.SERVICE_RELATION),
+    ServiceInstanceRelation(DefaultScopeDefine.SERVICE_INSTANCE_RELATION),
+    EndpointRelation(DefaultScopeDefine.ENDPOINT_RELATION);
 
     @Getter
     private int scopeId;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Step.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Step.java
similarity index 93%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Step.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Step.java
index cd2ac4f..1fdf54c 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Step.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/enumeration/Step.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 public enum Step {
     DAY, HOUR, MINUTE, SECOND
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/Duration.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/Duration.java
similarity index 93%
rename from oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/Duration.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/Duration.java
index b73142b..dc1a56e 100644
--- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/Duration.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/Duration.java
@@ -19,7 +19,7 @@
 package org.apache.skywalking.oap.query.graphql.type;
 
 import lombok.Getter;
-import org.apache.skywalking.oap.server.core.query.entity.Step;
+import org.apache.skywalking.oap.server.core.query.type.Step;
 
 @Getter
 public class Duration {
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/Entity.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/Entity.java
new file mode 100644
index 0000000..d813779
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/Entity.java
@@ -0,0 +1,4 @@
+package org.apache.skywalking.oap.server.core.query.input;
+
+public class Entity {
+}
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/LogQueryCondition.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/LogQueryCondition.java
similarity index 89%
rename from oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/LogQueryCondition.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/LogQueryCondition.java
index 69ceaa0..cfe7200 100644
--- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/LogQueryCondition.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/LogQueryCondition.java
@@ -20,8 +20,8 @@ package org.apache.skywalking.oap.query.graphql.type;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.skywalking.oap.server.core.query.entity.LogState;
-import org.apache.skywalking.oap.server.core.query.entity.Pagination;
+import org.apache.skywalking.oap.server.core.query.type.LogState;
+import org.apache.skywalking.oap.server.core.query.type.Pagination;
 
 @Getter
 @Setter
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/MetricCondition.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/MetricCondition.java
similarity index 100%
rename from oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/MetricCondition.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/MetricCondition.java
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/MetricsCondition.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/MetricsCondition.java
new file mode 100644
index 0000000..925680e
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/MetricsCondition.java
@@ -0,0 +1,4 @@
+package org.apache.skywalking.oap.server.core.query.input;
+
+public class MetricsCondition {
+}
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/ProfileTaskCreationRequest.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/ProfileTaskCreationRequest.java
similarity index 95%
rename from oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/ProfileTaskCreationRequest.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/ProfileTaskCreationRequest.java
index 8da3f8e..1900e01 100644
--- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/ProfileTaskCreationRequest.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/ProfileTaskCreationRequest.java
@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.query.graphql.type;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.skywalking.oap.server.core.query.entity.Step;
+import org.apache.skywalking.oap.server.core.query.type.Step;
 
 /**
  * Profile task create need data
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/TopNCondition.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/TopNCondition.java
new file mode 100644
index 0000000..a56d172
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/TopNCondition.java
@@ -0,0 +1,4 @@
+package org.apache.skywalking.oap.server.core.query.input;
+
+public class TopNCondition {
+}
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/TraceQueryCondition.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/TraceQueryCondition.java
similarity index 86%
rename from oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/TraceQueryCondition.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/TraceQueryCondition.java
index 645e58e..6c7b38e 100644
--- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type/TraceQueryCondition.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/input/TraceQueryCondition.java
@@ -20,9 +20,9 @@ package org.apache.skywalking.oap.query.graphql.type;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.skywalking.oap.server.core.query.entity.Pagination;
-import org.apache.skywalking.oap.server.core.query.entity.QueryOrder;
-import org.apache.skywalking.oap.server.core.query.entity.TraceState;
+import org.apache.skywalking.oap.server.core.query.type.Pagination;
+import org.apache.skywalking.oap.server.core.query.type.QueryOrder;
+import org.apache.skywalking.oap.server.core.query.type.TraceState;
 
 @Getter
 @Setter
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/AlarmMessage.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/AlarmMessage.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/AlarmMessage.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/AlarmMessage.java
index 044dba4..710a04d 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/AlarmMessage.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/AlarmMessage.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/AlarmTrend.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/AlarmTrend.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/AlarmTrend.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/AlarmTrend.java
index 8028aee..b0c27fd 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/AlarmTrend.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/AlarmTrend.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Alarms.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Alarms.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Alarms.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Alarms.java
index af813f9..bd85d51 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Alarms.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Alarms.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Attribute.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Attribute.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Attribute.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Attribute.java
index a53dd77..b7067ff 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Attribute.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Attribute.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/BasicTrace.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/BasicTrace.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/BasicTrace.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/BasicTrace.java
index 4511c98..eac8f8b 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/BasicTrace.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/BasicTrace.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Bucket.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Bucket.java
new file mode 100644
index 0000000..9a06208
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Bucket.java
@@ -0,0 +1,4 @@
+package org.apache.skywalking.oap.server.core.query.type;
+
+public class Bucket {
+}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Call.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Call.java
similarity index 98%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Call.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Call.java
index f6177fb..e7b6ad9 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Call.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Call.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ClusterBrief.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ClusterBrief.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ClusterBrief.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ClusterBrief.java
index ad05b14..c6d1118 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ClusterBrief.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ClusterBrief.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ContentType.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ContentType.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ContentType.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ContentType.java
index 49c805d..0fd5ae7 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ContentType.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ContentType.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import org.apache.skywalking.oap.server.core.UnexpectedException;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Database.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Database.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Database.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Database.java
index 92745b5..48a8dac 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Database.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Database.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Endpoint.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Endpoint.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Endpoint.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Endpoint.java
index 73e5cf8..a6e4b4c 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Endpoint.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Endpoint.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/EndpointInfo.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/EndpointInfo.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/EndpointInfo.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/EndpointInfo.java
index b301683..480e90a 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/EndpointInfo.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/EndpointInfo.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/HeatMap.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/HeatMap.java
new file mode 100644
index 0000000..69486d3
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/HeatMap.java
@@ -0,0 +1,4 @@
+package org.apache.skywalking.oap.server.core.query.type;
+
+public class HeatMap {
+}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/IntValues.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/IntValues.java
similarity index 96%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/IntValues.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/IntValues.java
index 4ab6c69..6fd7200 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/IntValues.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/IntValues.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.LinkedList;
 
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/KVInt.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/KVInt.java
similarity index 93%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/KVInt.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/KVInt.java
index c3150aa..6cbe687 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/KVInt.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/KVInt.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/KeyValue.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/KeyValue.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/KeyValue.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/KeyValue.java
index 5dcbc53..f536424 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/KeyValue.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/KeyValue.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Log.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Log.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Log.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Log.java
index e614c82..0751988 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Log.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Log.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LogEntity.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/LogEntity.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LogEntity.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/LogEntity.java
index df56398..9092b07 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LogEntity.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/LogEntity.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LogState.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/LogState.java
similarity index 93%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LogState.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/LogState.java
index 78be0ba..2c34e00 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/LogState.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/LogState.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 public enum LogState {
     ALL, SUCCESS, ERROR
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Logs.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Logs.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Logs.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Logs.java
index 5127a94..47ab3b2 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Logs.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Logs.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/MetricsValues.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/MetricsValues.java
new file mode 100644
index 0000000..9671e80
--- /dev/null
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/MetricsValues.java
@@ -0,0 +1,4 @@
+package org.apache.skywalking.oap.server.core.query.type;
+
+public class MetricsValues {
+}
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Node.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Node.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Node.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Node.java
index 906a063..3e60238 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Node.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Node.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Pagination.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Pagination.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Pagination.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Pagination.java
index 22f004e..2210122 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Pagination.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Pagination.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileAnalyzation.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileAnalyzation.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileAnalyzation.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileAnalyzation.java
index 4285fea..11bf7b5 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileAnalyzation.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileAnalyzation.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileAnalyzeTimeRange.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileAnalyzeTimeRange.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileAnalyzeTimeRange.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileAnalyzeTimeRange.java
index 81bcfe6..4a2c236 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileAnalyzeTimeRange.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileAnalyzeTimeRange.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileStackElement.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileStackElement.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileStackElement.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileStackElement.java
index 26470ba..6c5085f 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileStackElement.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileStackElement.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileStackTree.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileStackTree.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileStackTree.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileStackTree.java
index 91c11e8..604bce8 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileStackTree.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileStackTree.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTask.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTask.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTask.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTask.java
index 7e27aa0..92e2fca 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTask.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTask.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.List;
 import lombok.AllArgsConstructor;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskCreationResult.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskCreationResult.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskCreationResult.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskCreationResult.java
index d4fb580..f8a6a65 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskCreationResult.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskCreationResult.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskLog.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskLog.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskLog.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskLog.java
index fb1230d..c1f4d83 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskLog.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskLog.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskLogOperationType.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskLogOperationType.java
similarity index 96%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskLogOperationType.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskLogOperationType.java
index 322bdf9..1df9c2c 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfileTaskLogOperationType.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfileTaskLogOperationType.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfiledSegment.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfiledSegment.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfiledSegment.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfiledSegment.java
index 271dcdc..08acc5a 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfiledSegment.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfiledSegment.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfiledSpan.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfiledSpan.java
similarity index 96%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfiledSpan.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfiledSpan.java
index 58eda80..0bce4e9 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ProfiledSpan.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ProfiledSpan.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/QueryOrder.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/QueryOrder.java
similarity index 93%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/QueryOrder.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/QueryOrder.java
index 5aa1042..14579a8 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/QueryOrder.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/QueryOrder.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 public enum QueryOrder {
     BY_START_TIME, BY_DURATION
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Ref.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Ref.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Ref.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Ref.java
index d2822e2..31880b4 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Ref.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Ref.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/RefType.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/RefType.java
similarity index 93%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/RefType.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/RefType.java
index d47798b..e2b178f 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/RefType.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/RefType.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 public enum RefType {
     CROSS_PROCESS, CROSS_THREAD
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Order.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/SelectedRecord.java
similarity index 89%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Order.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/SelectedRecord.java
index 52bd647..e6d651f 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Order.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/SelectedRecord.java
@@ -16,8 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
-public enum Order {
-    ASC, DES
+public class TopNRecords {
 }
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Service.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Service.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Service.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Service.java
index 43b8fd9..a844cc9 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Service.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Service.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstance.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstance.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstance.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstance.java
index a97ee35..afbee9d 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstance.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstance.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstanceNode.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstanceNode.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstanceNode.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstanceNode.java
index 7fd2f1a..891af86 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstanceNode.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstanceNode.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstanceTopology.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstanceTopology.java
similarity index 95%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstanceTopology.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstanceTopology.java
index 4de98a2..30070d1 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstanceTopology.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/ServiceInstanceTopology.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Span.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Span.java
similarity index 96%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Span.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Span.java
index 2775e35..9ce279e 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Span.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Span.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Thermodynamic.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Thermodynamic.java
similarity index 97%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Thermodynamic.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Thermodynamic.java
index 759bb85..8a79408 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Thermodynamic.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Thermodynamic.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TopNEntity.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TopNEntity.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TopNEntity.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TopNEntity.java
index 1f716ab..345ecf0 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TopNEntity.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TopNEntity.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TopNRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TopNRecord.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TopNRecord.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TopNRecord.java
index 3dda16e..da81b80 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TopNRecord.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TopNRecord.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Topology.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Topology.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Topology.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Topology.java
index 4e52fe7..7b57115 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Topology.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Topology.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Trace.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Trace.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Trace.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Trace.java
index 669c5d6..abe1482 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Trace.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/Trace.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TraceBrief.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TraceBrief.java
similarity index 94%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TraceBrief.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TraceBrief.java
index 9e0f1a7..b18ac4d 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TraceBrief.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TraceBrief.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TraceState.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TraceState.java
similarity index 93%
rename from oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TraceState.java
rename to oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TraceState.java
index 0e36e60..e3f6f63 100644
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/TraceState.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/type/TraceState.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.skywalking.oap.server.core.query.entity;
+package org.apache.skywalking.oap.server.core.query.type;
 
 public enum TraceState {
     ALL, SUCCESS, ERROR,
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetricsQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetricsQuery.java
new file mode 100644
index 0000000..7eb6fb4
--- /dev/null
+++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetricsQuery.java
@@ -0,0 +1,4 @@
+package org.apache.skywalking.oap.query.graphql.resolver;
+
+public class MetricsQuery {
+}