From 4e99e896c2517a1d2ab227249f4634073f32fa9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=8B=87=E5=8D=87=20pengys?= <8082209@qq.com> Date: Wed, 17 Oct 2018 18:40:10 +0800 Subject: [PATCH] Set instance attributes into return value. (#1783) * Set instance attributes into return value. * Delete unused code. --- .../oap/server/core/query/entity/Attribute.java | 8 ++++++++ .../server/core/register/ServiceInstanceInventory.java | 8 ++++---- .../plugin/elasticsearch/query/MetadataQueryEsDAO.java | 8 ++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) 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/entity/Attribute.java index 8f7daafed1..fa2ed539c9 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/entity/Attribute.java @@ -28,4 +28,12 @@ import lombok.*; public class Attribute { private String name; private String value; + + public Attribute(String name, String value) { + this.name = name; + this.value = value; + } + + public Attribute() { + } } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java index 25f11c0ba6..4f864591fe 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/ServiceInstanceInventory.java @@ -45,10 +45,10 @@ public class ServiceInstanceInventory extends RegisterSource { public static final String SERVICE_ID = "service_id"; private static final String IS_ADDRESS = "is_address"; private static final String ADDRESS_ID = "address_id"; - private static final String OS_NAME = "os_name"; - private static final String HOST_NAME = "host_name"; - private static final String PROCESS_NO = "process_no"; - private static final String IPV4S = "ipv4s"; + public static final String OS_NAME = "os_name"; + public static final String HOST_NAME = "host_name"; + public static final String PROCESS_NO = "process_no"; + public static final String IPV4S = "ipv4s"; public static final String LANGUAGE = "language"; @Setter @Getter @Column(columnName = NAME, matchQuery = true) private String name = Const.EMPTY_STRING; diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java index 0be8502b94..76e7b31665 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java @@ -188,6 +188,14 @@ public class MetadataQueryEsDAO extends EsDAO implements IMetadataQueryDAO { serviceInstance.setName((String)sourceAsMap.get(ServiceInstanceInventory.NAME)); int languageId = ((Number)sourceAsMap.get(ServiceInstanceInventory.LANGUAGE)).intValue(); serviceInstance.setLanguage(LanguageTrans.INSTANCE.value(languageId)); + serviceInstance.getAttributes().add(new Attribute(ServiceInstanceInventory.OS_NAME, (String)sourceAsMap.get(ServiceInstanceInventory.OS_NAME))); + serviceInstance.getAttributes().add(new Attribute(ServiceInstanceInventory.HOST_NAME, (String)sourceAsMap.get(ServiceInstanceInventory.HOST_NAME))); + serviceInstance.getAttributes().add(new Attribute(ServiceInstanceInventory.PROCESS_NO, String.valueOf(((Number)sourceAsMap.get(ServiceInstanceInventory.PROCESS_NO)).intValue()))); + + List ipv4s = ServiceInstanceInventory.AgentOsInfo.ipv4sDeserialize((String)sourceAsMap.get(ServiceInstanceInventory.IPV4S)); + for (String ipv4 : ipv4s) { + serviceInstance.getAttributes().add(new Attribute(ServiceInstanceInventory.IPV4S, ipv4)); + } serviceInstances.add(serviceInstance); } -- GitLab