Loading apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/ui/service/ServiceInfo.java +18 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ package org.apache.skywalking.apm.collector.storage.ui.service; public class ServiceInfo { private int id; private String name; private int applicationId; private String applicationName; public int getId() { return id; Loading @@ -40,4 +42,20 @@ public class ServiceInfo { public void setName(String name) { this.name = name; } public int getApplicationId() { return applicationId; } public void setApplicationId(int applicationId) { this.applicationId = applicationId; } public String getApplicationName() { return applicationName; } public void setApplicationName(String applicationName) { this.applicationName = applicationName; } } apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/ui/ServiceNameServiceEsUIDAO.java +1 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ public class ServiceNameServiceEsUIDAO extends EsDAO implements IServiceNameServ ServiceInfo serviceInfo = new ServiceInfo(); serviceInfo.setId(((Number)searchHit.getSource().get(ServiceNameTable.SERVICE_ID.getName())).intValue()); serviceInfo.setName((String)searchHit.getSource().get(ServiceNameTable.SERVICE_NAME.getName())); serviceInfo.setApplicationId(((Number)searchHit.getSource().get(ServiceNameTable.APPLICATION_ID.getName())).intValue()); serviceInfos.add(serviceInfo); } return serviceInfos; Loading apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/apache/skywalking/apm/collector/storage/h2/dao/ui/ServiceNameServiceH2UIDAO.java +3 −2 Original line number Diff line number Diff line Loading @@ -57,8 +57,8 @@ public class ServiceNameServiceH2UIDAO extends H2DAO implements IServiceNameServ @Override public List<ServiceInfo> searchService(String keyword, int applicationId, long startTimeMillis, int topN) { String dynamicSql = "select {0},{1} from {2} where {3} like ? and {4} = ? and {5} = ? and {6} >= ? limit ?"; String sql = SqlBuilder.buildSql(dynamicSql, ServiceNameTable.SERVICE_ID.getName(), ServiceNameTable.SERVICE_NAME.getName(), ServiceNameTable.TABLE, ServiceNameTable.SERVICE_NAME.getName(), ServiceNameTable.SRC_SPAN_TYPE.getName(), ServiceNameTable.APPLICATION_ID.getName(), ServiceNameTable.HEARTBEAT_TIME.getName()); String dynamicSql = "select {0},{1},{2} from {3} where {4} like ? and {5} = ? and {6} = ? and {7} >= ? limit ?"; String sql = SqlBuilder.buildSql(dynamicSql, ServiceNameTable.SERVICE_ID.getName(), ServiceNameTable.SERVICE_NAME.getName(), ServiceNameTable.APPLICATION_ID.getName(), ServiceNameTable.TABLE, ServiceNameTable.SERVICE_NAME.getName(), ServiceNameTable.SRC_SPAN_TYPE.getName(), ServiceNameTable.APPLICATION_ID.getName(), ServiceNameTable.HEARTBEAT_TIME.getName()); Object[] params = new Object[] {keyword, SpanType.Entry_VALUE, applicationId, startTimeMillis, topN}; List<ServiceInfo> serviceInfos = new LinkedList<>(); Loading @@ -67,6 +67,7 @@ public class ServiceNameServiceH2UIDAO extends H2DAO implements IServiceNameServ ServiceInfo serviceInfo = new ServiceInfo(); serviceInfo.setId(rs.getInt(ServiceNameTable.SERVICE_ID.getName())); serviceInfo.setName(rs.getString(ServiceNameTable.SERVICE_NAME.getName())); serviceInfo.setApplicationId(rs.getInt(ServiceNameTable.APPLICATION_ID.getName())); serviceInfos.add(serviceInfo); } } catch (SQLException | H2ClientException e) { Loading apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/ServiceNameService.java +16 −4 Original line number Diff line number Diff line Loading @@ -19,14 +19,15 @@ package org.apache.skywalking.apm.collector.ui.service; import java.text.ParseException; import java.util.List; import java.util.*; import org.apache.skywalking.apm.collector.cache.CacheModule; import org.apache.skywalking.apm.collector.cache.service.ServiceNameCacheService; import org.apache.skywalking.apm.collector.cache.service.*; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.ui.*; import org.apache.skywalking.apm.collector.storage.table.MetricSource; import org.apache.skywalking.apm.collector.storage.table.register.ServiceName; import org.apache.skywalking.apm.collector.storage.table.register.*; import org.apache.skywalking.apm.collector.storage.ttl.ITTLConfigService; import org.apache.skywalking.apm.collector.storage.ui.common.*; import org.apache.skywalking.apm.collector.storage.ui.service.*; Loading @@ -41,6 +42,7 @@ public class ServiceNameService { private static final Logger logger = LoggerFactory.getLogger(ServiceNameService.class); private final ApplicationCacheService applicationCacheService; private final IServiceNameServiceUIDAO serviceNameServiceUIDAO; private final IServiceMetricUIDAO serviceMetricUIDAO; private final ServiceNameCacheService serviceNameCacheService; Loading @@ -48,6 +50,7 @@ public class ServiceNameService { private final ITTLConfigService configService; public ServiceNameService(ModuleManager moduleManager) { this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); this.serviceNameServiceUIDAO = moduleManager.find(StorageModule.NAME).getService(IServiceNameServiceUIDAO.class); this.serviceMetricUIDAO = moduleManager.find(StorageModule.NAME).getService(IServiceMetricUIDAO.class); this.serviceNameCacheService = moduleManager.find(CacheModule.NAME).getService(ServiceNameCacheService.class); Loading @@ -60,7 +63,16 @@ public class ServiceNameService { } public List<ServiceInfo> searchService(String keyword, int applicationId, int topN) { return serviceNameServiceUIDAO.searchService(keyword, applicationId, startTimeMillis(), topN); List<ServiceInfo> services = serviceNameServiceUIDAO.searchService(keyword, applicationId, startTimeMillis(), topN); services.forEach(service -> { Application application = applicationCacheService.getApplicationById(service.getApplicationId()); if (Objects.nonNull(application)) { service.setApplicationName(application.getApplicationCode()); } else { service.setApplicationName(Const.EMPTY_STRING); } }); return services; } private long startTimeMillis() { Loading apm-protocol/apm-ui-protocol/src/main/resources/ui-graphql/service-layer.graphqls +2 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,8 @@ type ServiceNode implements Node { type ServiceInfo { id: ID! name: String applicationId: ID! applicationName: String } type ServiceMetric { Loading Loading
apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/ui/service/ServiceInfo.java +18 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ package org.apache.skywalking.apm.collector.storage.ui.service; public class ServiceInfo { private int id; private String name; private int applicationId; private String applicationName; public int getId() { return id; Loading @@ -40,4 +42,20 @@ public class ServiceInfo { public void setName(String name) { this.name = name; } public int getApplicationId() { return applicationId; } public void setApplicationId(int applicationId) { this.applicationId = applicationId; } public String getApplicationName() { return applicationName; } public void setApplicationName(String applicationName) { this.applicationName = applicationName; } }
apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/ui/ServiceNameServiceEsUIDAO.java +1 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ public class ServiceNameServiceEsUIDAO extends EsDAO implements IServiceNameServ ServiceInfo serviceInfo = new ServiceInfo(); serviceInfo.setId(((Number)searchHit.getSource().get(ServiceNameTable.SERVICE_ID.getName())).intValue()); serviceInfo.setName((String)searchHit.getSource().get(ServiceNameTable.SERVICE_NAME.getName())); serviceInfo.setApplicationId(((Number)searchHit.getSource().get(ServiceNameTable.APPLICATION_ID.getName())).intValue()); serviceInfos.add(serviceInfo); } return serviceInfos; Loading
apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/apache/skywalking/apm/collector/storage/h2/dao/ui/ServiceNameServiceH2UIDAO.java +3 −2 Original line number Diff line number Diff line Loading @@ -57,8 +57,8 @@ public class ServiceNameServiceH2UIDAO extends H2DAO implements IServiceNameServ @Override public List<ServiceInfo> searchService(String keyword, int applicationId, long startTimeMillis, int topN) { String dynamicSql = "select {0},{1} from {2} where {3} like ? and {4} = ? and {5} = ? and {6} >= ? limit ?"; String sql = SqlBuilder.buildSql(dynamicSql, ServiceNameTable.SERVICE_ID.getName(), ServiceNameTable.SERVICE_NAME.getName(), ServiceNameTable.TABLE, ServiceNameTable.SERVICE_NAME.getName(), ServiceNameTable.SRC_SPAN_TYPE.getName(), ServiceNameTable.APPLICATION_ID.getName(), ServiceNameTable.HEARTBEAT_TIME.getName()); String dynamicSql = "select {0},{1},{2} from {3} where {4} like ? and {5} = ? and {6} = ? and {7} >= ? limit ?"; String sql = SqlBuilder.buildSql(dynamicSql, ServiceNameTable.SERVICE_ID.getName(), ServiceNameTable.SERVICE_NAME.getName(), ServiceNameTable.APPLICATION_ID.getName(), ServiceNameTable.TABLE, ServiceNameTable.SERVICE_NAME.getName(), ServiceNameTable.SRC_SPAN_TYPE.getName(), ServiceNameTable.APPLICATION_ID.getName(), ServiceNameTable.HEARTBEAT_TIME.getName()); Object[] params = new Object[] {keyword, SpanType.Entry_VALUE, applicationId, startTimeMillis, topN}; List<ServiceInfo> serviceInfos = new LinkedList<>(); Loading @@ -67,6 +67,7 @@ public class ServiceNameServiceH2UIDAO extends H2DAO implements IServiceNameServ ServiceInfo serviceInfo = new ServiceInfo(); serviceInfo.setId(rs.getInt(ServiceNameTable.SERVICE_ID.getName())); serviceInfo.setName(rs.getString(ServiceNameTable.SERVICE_NAME.getName())); serviceInfo.setApplicationId(rs.getInt(ServiceNameTable.APPLICATION_ID.getName())); serviceInfos.add(serviceInfo); } } catch (SQLException | H2ClientException e) { Loading
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/ServiceNameService.java +16 −4 Original line number Diff line number Diff line Loading @@ -19,14 +19,15 @@ package org.apache.skywalking.apm.collector.ui.service; import java.text.ParseException; import java.util.List; import java.util.*; import org.apache.skywalking.apm.collector.cache.CacheModule; import org.apache.skywalking.apm.collector.cache.service.ServiceNameCacheService; import org.apache.skywalking.apm.collector.cache.service.*; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.Const; import org.apache.skywalking.apm.collector.storage.StorageModule; import org.apache.skywalking.apm.collector.storage.dao.ui.*; import org.apache.skywalking.apm.collector.storage.table.MetricSource; import org.apache.skywalking.apm.collector.storage.table.register.ServiceName; import org.apache.skywalking.apm.collector.storage.table.register.*; import org.apache.skywalking.apm.collector.storage.ttl.ITTLConfigService; import org.apache.skywalking.apm.collector.storage.ui.common.*; import org.apache.skywalking.apm.collector.storage.ui.service.*; Loading @@ -41,6 +42,7 @@ public class ServiceNameService { private static final Logger logger = LoggerFactory.getLogger(ServiceNameService.class); private final ApplicationCacheService applicationCacheService; private final IServiceNameServiceUIDAO serviceNameServiceUIDAO; private final IServiceMetricUIDAO serviceMetricUIDAO; private final ServiceNameCacheService serviceNameCacheService; Loading @@ -48,6 +50,7 @@ public class ServiceNameService { private final ITTLConfigService configService; public ServiceNameService(ModuleManager moduleManager) { this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); this.serviceNameServiceUIDAO = moduleManager.find(StorageModule.NAME).getService(IServiceNameServiceUIDAO.class); this.serviceMetricUIDAO = moduleManager.find(StorageModule.NAME).getService(IServiceMetricUIDAO.class); this.serviceNameCacheService = moduleManager.find(CacheModule.NAME).getService(ServiceNameCacheService.class); Loading @@ -60,7 +63,16 @@ public class ServiceNameService { } public List<ServiceInfo> searchService(String keyword, int applicationId, int topN) { return serviceNameServiceUIDAO.searchService(keyword, applicationId, startTimeMillis(), topN); List<ServiceInfo> services = serviceNameServiceUIDAO.searchService(keyword, applicationId, startTimeMillis(), topN); services.forEach(service -> { Application application = applicationCacheService.getApplicationById(service.getApplicationId()); if (Objects.nonNull(application)) { service.setApplicationName(application.getApplicationCode()); } else { service.setApplicationName(Const.EMPTY_STRING); } }); return services; } private long startTimeMillis() { Loading
apm-protocol/apm-ui-protocol/src/main/resources/ui-graphql/service-layer.graphqls +2 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,8 @@ type ServiceNode implements Node { type ServiceInfo { id: ID! name: String applicationId: ID! applicationName: String } type ServiceMetric { Loading