Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
javalover123888
SkyWalking
提交
b513024a
S
SkyWalking
项目概览
javalover123888
/
SkyWalking
与 Fork 源项目一致
Fork自
山不在高_有仙则灵 / SkyWalking
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b513024a
编写于
2月 05, 2018
作者:
P
peng-yongsheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Provide the searchService query.
上级
1d625d2a
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
143 addition
and
13 deletion
+143
-13
apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/dao/ui/IServiceNameServiceUIDAO.java
...pm/collector/storage/dao/ui/IServiceNameServiceUIDAO.java
+4
-0
apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/ui/service/ServiceInfo.java
...walking/apm/collector/storage/ui/service/ServiceInfo.java
+16
-2
apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/ui/service/ServiceNode.java
...walking/apm/collector/storage/ui/service/ServiceNode.java
+36
-3
apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/ui/ServiceNameServiceEsUIDAO.java
...ollector/storage/es/dao/ui/ServiceNameServiceEsUIDAO.java
+26
-0
apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/define/register/ServiceNameEsTableDefine.java
.../storage/es/define/register/ServiceNameEsTableDefine.java
+1
-1
apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/apache/skywalking/apm/collector/storage/h2/dao/ui/ServiceNameServiceH2UIDAO.java
...ollector/storage/h2/dao/ui/ServiceNameServiceH2UIDAO.java
+22
-0
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java
...alking/apm/collector/ui/jetty/handler/GraphQLHandler.java
+3
-2
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServiceQuery.java
...pache/skywalking/apm/collector/ui/query/ServiceQuery.java
+23
-4
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/ServiceNameService.java
...ywalking/apm/collector/ui/service/ServiceNameService.java
+6
-0
apm-protocol/apm-ui-protocol/src/main/resources/ui-graphql/service-layer.graphqls
...ocol/src/main/resources/ui-graphql/service-layer.graphqls
+6
-1
未找到文件。
apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/dao/ui/IServiceNameServiceUIDAO.java
浏览文件 @
b513024a
...
...
@@ -18,11 +18,15 @@
package
org.apache.skywalking.apm.collector.storage.dao.ui
;
import
java.util.List
;
import
org.apache.skywalking.apm.collector.storage.base.dao.DAO
;
import
org.apache.skywalking.apm.collector.storage.ui.service.ServiceInfo
;
/**
* @author peng-yongsheng
*/
public
interface
IServiceNameServiceUIDAO
extends
DAO
{
int
getCount
();
List
<
ServiceInfo
>
searchService
(
String
keyword
,
int
topN
);
}
apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/ui/service/ServiceInfo.java
浏览文件 @
b513024a
...
...
@@ -24,6 +24,20 @@ package org.apache.skywalking.apm.collector.storage.ui.service;
public
class
ServiceInfo
{
private
int
id
;
private
String
name
;
private
int
avgResponseTime
;
private
int
tps
;
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
apm-collector/apm-collector-storage/collector-storage-define/src/main/java/org/apache/skywalking/apm/collector/storage/ui/service/ServiceNode.java
浏览文件 @
b513024a
...
...
@@ -24,7 +24,40 @@ import org.apache.skywalking.apm.collector.storage.ui.common.Node;
* @author peng-yongsheng
*/
public
class
ServiceNode
extends
Node
{
private
Float
sla
;
private
Long
calls
;
private
Integer
numOfServiceAlarm
;
private
float
sla
;
private
long
calls
;
private
int
numOfServiceAlarm
;
private
int
applicationId
;
public
float
getSla
()
{
return
sla
;
}
public
void
setSla
(
float
sla
)
{
this
.
sla
=
sla
;
}
public
long
getCalls
()
{
return
calls
;
}
public
void
setCalls
(
long
calls
)
{
this
.
calls
=
calls
;
}
public
int
getNumOfServiceAlarm
()
{
return
numOfServiceAlarm
;
}
public
void
setNumOfServiceAlarm
(
int
numOfServiceAlarm
)
{
this
.
numOfServiceAlarm
=
numOfServiceAlarm
;
}
public
int
getApplicationId
()
{
return
applicationId
;
}
public
void
setApplicationId
(
int
applicationId
)
{
this
.
applicationId
=
applicationId
;
}
}
apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/dao/ui/ServiceNameServiceEsUIDAO.java
浏览文件 @
b513024a
...
...
@@ -18,13 +18,18 @@
package
org.apache.skywalking.apm.collector.storage.es.dao.ui
;
import
java.util.LinkedList
;
import
java.util.List
;
import
org.apache.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient
;
import
org.apache.skywalking.apm.collector.storage.dao.ui.IServiceNameServiceUIDAO
;
import
org.apache.skywalking.apm.collector.storage.es.base.dao.EsDAO
;
import
org.apache.skywalking.apm.collector.storage.table.register.ServiceNameTable
;
import
org.apache.skywalking.apm.collector.storage.ui.service.ServiceInfo
;
import
org.elasticsearch.action.search.SearchRequestBuilder
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.action.search.SearchType
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.search.SearchHit
;
/**
* @author peng-yongsheng
...
...
@@ -44,4 +49,25 @@ public class ServiceNameServiceEsUIDAO extends EsDAO implements IServiceNameServ
SearchResponse
searchResponse
=
searchRequestBuilder
.
execute
().
actionGet
();
return
(
int
)
searchResponse
.
getHits
().
getTotalHits
();
}
@Override
public
List
<
ServiceInfo
>
searchService
(
String
keyword
,
int
topN
)
{
SearchRequestBuilder
searchRequestBuilder
=
getClient
().
prepareSearch
(
ServiceNameTable
.
TABLE
);
searchRequestBuilder
.
setTypes
(
ServiceNameTable
.
TABLE_TYPE
);
searchRequestBuilder
.
setSearchType
(
SearchType
.
DFS_QUERY_THEN_FETCH
);
searchRequestBuilder
.
setSize
(
topN
);
searchRequestBuilder
.
setQuery
(
QueryBuilders
.
matchQuery
(
ServiceNameTable
.
COLUMN_SERVICE_NAME
,
keyword
));
SearchResponse
searchResponse
=
searchRequestBuilder
.
execute
().
actionGet
();
SearchHit
[]
searchHits
=
searchResponse
.
getHits
().
getHits
();
List
<
ServiceInfo
>
serviceInfos
=
new
LinkedList
<>();
for
(
SearchHit
searchHit
:
searchHits
)
{
ServiceInfo
serviceInfo
=
new
ServiceInfo
();
serviceInfo
.
setId
(((
Number
)
searchHit
.
getSource
().
get
(
ServiceNameTable
.
COLUMN_SERVICE_ID
)).
intValue
());
serviceInfo
.
setName
((
String
)
searchHit
.
getSource
().
get
(
ServiceNameTable
.
COLUMN_SERVICE_NAME
));
serviceInfos
.
add
(
serviceInfo
);
}
return
serviceInfos
;
}
}
apm-collector/apm-collector-storage/collector-storage-es-provider/src/main/java/org/apache/skywalking/apm/collector/storage/es/define/register/ServiceNameEsTableDefine.java
浏览文件 @
b513024a
...
...
@@ -37,7 +37,7 @@ public class ServiceNameEsTableDefine extends ElasticSearchTableDefine {
@Override
public
void
initialize
()
{
addColumn
(
new
ElasticSearchColumnDefine
(
ServiceNameTable
.
COLUMN_APPLICATION_ID
,
ElasticSearchColumnDefine
.
Type
.
Integer
.
name
()));
addColumn
(
new
ElasticSearchColumnDefine
(
ServiceNameTable
.
COLUMN_SERVICE_NAME
,
ElasticSearchColumnDefine
.
Type
.
Keyword
.
name
()));
addColumn
(
new
ElasticSearchColumnDefine
(
ServiceNameTable
.
COLUMN_SERVICE_NAME
,
ElasticSearchColumnDefine
.
Type
.
Text
.
name
()));
addColumn
(
new
ElasticSearchColumnDefine
(
ServiceNameTable
.
COLUMN_SERVICE_ID
,
ElasticSearchColumnDefine
.
Type
.
Integer
.
name
()));
}
}
apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/apache/skywalking/apm/collector/storage/h2/dao/ui/ServiceNameServiceH2UIDAO.java
浏览文件 @
b513024a
...
...
@@ -20,12 +20,15 @@ package org.apache.skywalking.apm.collector.storage.h2.dao.ui;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.LinkedList
;
import
java.util.List
;
import
org.apache.skywalking.apm.collector.client.h2.H2Client
;
import
org.apache.skywalking.apm.collector.client.h2.H2ClientException
;
import
org.apache.skywalking.apm.collector.storage.base.sql.SqlBuilder
;
import
org.apache.skywalking.apm.collector.storage.dao.ui.IServiceNameServiceUIDAO
;
import
org.apache.skywalking.apm.collector.storage.h2.base.dao.H2DAO
;
import
org.apache.skywalking.apm.collector.storage.table.register.ServiceNameTable
;
import
org.apache.skywalking.apm.collector.storage.ui.service.ServiceInfo
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -54,4 +57,23 @@ public class ServiceNameServiceH2UIDAO extends H2DAO implements IServiceNameServ
}
return
0
;
}
@Override
public
List
<
ServiceInfo
>
searchService
(
String
keyword
,
int
topN
)
{
String
dynamicSql
=
"select {0},{1} from {2} where {3} like ? limit ?"
;
String
sql
=
SqlBuilder
.
buildSql
(
dynamicSql
,
ServiceNameTable
.
COLUMN_SERVICE_ID
,
ServiceNameTable
.
COLUMN_SERVICE_NAME
,
ServiceNameTable
.
TABLE
,
ServiceNameTable
.
COLUMN_SERVICE_NAME
);
Object
[]
params
=
new
Object
[]
{
keyword
,
topN
};
List
<
ServiceInfo
>
serviceInfos
=
new
LinkedList
<>();
try
(
ResultSet
rs
=
getClient
().
executeQuery
(
sql
,
params
))
{
while
(
rs
.
next
())
{
ServiceInfo
serviceInfo
=
new
ServiceInfo
();
serviceInfo
.
setId
(
rs
.
getInt
(
ServiceNameTable
.
COLUMN_SERVICE_ID
));
serviceInfo
.
setName
(
rs
.
getString
(
ServiceNameTable
.
COLUMN_SERVICE_NAME
));
serviceInfos
.
add
(
serviceInfo
);
}
}
catch
(
SQLException
|
H2ClientException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
return
serviceInfos
;
}
}
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java
浏览文件 @
b513024a
...
...
@@ -43,6 +43,7 @@ import org.apache.skywalking.apm.collector.server.jetty.JettyHandler;
import
org.apache.skywalking.apm.collector.storage.ui.application.ApplicationNode
;
import
org.apache.skywalking.apm.collector.storage.ui.application.ConjecturalNode
;
import
org.apache.skywalking.apm.collector.storage.ui.common.VisualUserNode
;
import
org.apache.skywalking.apm.collector.storage.ui.service.ServiceNode
;
import
org.apache.skywalking.apm.collector.ui.graphql.VersionMutation
;
import
org.apache.skywalking.apm.collector.ui.graphql.VersionQuery
;
import
org.apache.skywalking.apm.collector.ui.mutation.ConfigMutation
;
...
...
@@ -82,9 +83,9 @@ public class GraphQLHandler extends JettyHandler {
.
file
(
"ui-graphql/service-layer.graphqls"
)
.
file
(
"ui-graphql/trace.graphqls"
)
.
resolvers
(
new
VersionQuery
(),
new
VersionMutation
(),
new
AlarmQuery
(),
new
ApplicationQuery
(
moduleManager
))
.
resolvers
(
new
OverViewLayerQuery
(
moduleManager
),
new
ServerQuery
(
moduleManager
),
new
ServiceQuery
(),
new
TraceQuery
(
moduleManager
))
.
resolvers
(
new
OverViewLayerQuery
(
moduleManager
),
new
ServerQuery
(
moduleManager
),
new
ServiceQuery
(
moduleManager
),
new
TraceQuery
(
moduleManager
))
.
resolvers
(
new
ConfigQuery
(),
new
ConfigMutation
())
.
dictionary
(
ConjecturalNode
.
class
,
VisualUserNode
.
class
,
ApplicationNode
.
class
)
.
dictionary
(
ConjecturalNode
.
class
,
VisualUserNode
.
class
,
ApplicationNode
.
class
,
ServiceNode
.
class
)
.
build
()
.
makeExecutableSchema
();
...
...
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ServiceQuery.java
浏览文件 @
b513024a
...
...
@@ -18,21 +18,40 @@
package
org.apache.skywalking.apm.collector.ui.query
;
import
java.text.ParseException
;
import
java.util.List
;
import
org.apache.skywalking.apm.collector.ui.graphql.Query
;
import
org.apache.skywalking.apm.collector.core.module.ModuleManager
;
import
org.apache.skywalking.apm.collector.core.util.ObjectUtils
;
import
org.apache.skywalking.apm.collector.storage.ui.common.Duration
;
import
org.apache.skywalking.apm.collector.storage.ui.common.ResponseTimeTrend
;
import
org.apache.skywalking.apm.collector.storage.ui.common.SLATrend
;
import
org.apache.skywalking.apm.collector.storage.ui.common.ThroughputTrend
;
import
org.apache.skywalking.apm.collector.storage.ui.common.Topology
;
import
org.apache.skywalking.apm.collector.storage.ui.service.ServiceNode
;
import
org.apache.skywalking.apm.collector.storage.ui.service.ServiceInfo
;
import
org.apache.skywalking.apm.collector.ui.graphql.Query
;
import
org.apache.skywalking.apm.collector.ui.service.ServiceNameService
;
/**
* @author peng-yongsheng
*/
public
class
ServiceQuery
implements
Query
{
public
List
<
ServiceNode
>
searchService
(
String
keyword
,
Duration
duration
,
Integer
topN
)
{
return
null
;
private
final
ModuleManager
moduleManager
;
private
ServiceNameService
serviceNameService
;
public
ServiceQuery
(
ModuleManager
moduleManager
)
{
this
.
moduleManager
=
moduleManager
;
}
private
ServiceNameService
getServiceNameService
()
{
if
(
ObjectUtils
.
isEmpty
(
serviceNameService
))
{
this
.
serviceNameService
=
new
ServiceNameService
(
moduleManager
);
}
return
serviceNameService
;
}
public
List
<
ServiceInfo
>
searchService
(
String
keyword
,
int
topN
)
throws
ParseException
{
return
getServiceNameService
().
searchService
(
keyword
,
topN
);
}
public
ResponseTimeTrend
getServiceResponseTimeTrend
(
int
serviceId
,
Duration
duration
)
{
...
...
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/ServiceNameService.java
浏览文件 @
b513024a
...
...
@@ -18,9 +18,11 @@
package
org.apache.skywalking.apm.collector.ui.service
;
import
java.util.List
;
import
org.apache.skywalking.apm.collector.core.module.ModuleManager
;
import
org.apache.skywalking.apm.collector.storage.StorageModule
;
import
org.apache.skywalking.apm.collector.storage.dao.ui.IServiceNameServiceUIDAO
;
import
org.apache.skywalking.apm.collector.storage.ui.service.ServiceInfo
;
/**
* @author peng-yongsheng
...
...
@@ -36,4 +38,8 @@ public class ServiceNameService {
public
int
getCount
()
{
return
serviceNameServiceUIDAO
.
getCount
();
}
public
List
<
ServiceInfo
>
searchService
(
String
keyword
,
int
topN
)
{
return
serviceNameServiceUIDAO
.
searchService
(
keyword
,
topN
);
}
}
apm-protocol/apm-ui-protocol/src/main/resources/ui-graphql/service-layer.graphqls
浏览文件 @
b513024a
...
...
@@ -15,6 +15,11 @@ type ServiceNode implements Node {
type ServiceInfo {
id: ID!
name: String
}
type ServiceMetric {
id: ID!
name: String
# The unit is millisecond.
avgResponseTime: Int!
tps: Int!
...
...
@@ -27,7 +32,7 @@ type TraceItem {
}
extend type Query {
searchService(keyword: String!,
duration: Duration!, topN: Int!): [ServiceNode
!]!
searchService(keyword: String!,
topN: Int!): [ServiceInfo
!]!
getServiceResponseTimeTrend(serviceId: ID!, duration: Duration!): ResponseTimeTrend
getServiceTPSTrend(serviceId: ID!, duration: Duration!): ThroughputTrend
getServiceSLATrend(serviceId: ID!, duration: Duration!): SLATrend
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录