Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
山不在高_有仙则灵
SkyWalking
提交
9b24f527
S
SkyWalking
项目概览
山不在高_有仙则灵
/
SkyWalking
与 Fork 源项目一致
Fork自
apache / SkyWalking
通知
12
Star
0
Fork
2
代码
文件
提交
分支
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,发现更多精彩内容 >>
提交
9b24f527
编写于
2月 28, 2018
作者:
P
peng-yongsheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Calculate callsPerSec metric.
上级
e138b8d5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
24 addition
and
9 deletion
+24
-9
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ApplicationQuery.java
...e/skywalking/apm/collector/ui/query/ApplicationQuery.java
+6
-3
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/ApplicationService.java
...ywalking/apm/collector/ui/service/ApplicationService.java
+18
-6
未找到文件。
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/query/ApplicationQuery.java
浏览文件 @
9b24f527
...
...
@@ -87,10 +87,13 @@ public class ApplicationQuery implements Query {
public
List
<
ServiceMetric
>
getSlowService
(
int
applicationId
,
Duration
duration
,
Integer
topN
)
throws
ParseException
{
long
start
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getStart
());
long
end
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getEnd
());
long
startTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getStart
());
long
endTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getEnd
());
long
startSecondTimeBucket
=
DurationUtils
.
INSTANCE
.
durationToSecondTimeBucket
(
duration
.
getStep
(),
duration
.
getStart
());
long
endSecondTimeBucket
=
DurationUtils
.
INSTANCE
.
durationToSecondTimeBucket
(
duration
.
getStep
(),
duration
.
getEnd
());
return
getApplicationService
().
getSlowService
(
applicationId
,
duration
.
getStep
(),
start
,
end
,
topN
);
return
getApplicationService
().
getSlowService
(
applicationId
,
duration
.
getStep
(),
start
TimeBucket
,
endTimeBucket
,
startSecondTimeBucket
,
endSecondTimeBucket
,
topN
);
}
public
List
<
AppServerInfo
>
getServerThroughput
(
int
applicationId
,
Duration
duration
,
...
...
apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/service/ApplicationService.java
浏览文件 @
9b24f527
...
...
@@ -32,6 +32,7 @@ import org.apache.skywalking.apm.collector.storage.dao.ui.INetworkAddressUIDAO;
import
org.apache.skywalking.apm.collector.storage.dao.ui.IServiceMetricUIDAO
;
import
org.apache.skywalking.apm.collector.storage.table.MetricSource
;
import
org.apache.skywalking.apm.collector.storage.table.register.ServerTypeDefine
;
import
org.apache.skywalking.apm.collector.storage.table.register.ServiceName
;
import
org.apache.skywalking.apm.collector.storage.ui.application.Application
;
import
org.apache.skywalking.apm.collector.storage.ui.common.Step
;
import
org.apache.skywalking.apm.collector.storage.ui.overview.ApplicationTPS
;
...
...
@@ -39,18 +40,23 @@ import org.apache.skywalking.apm.collector.storage.ui.overview.ConjecturalApp;
import
org.apache.skywalking.apm.collector.storage.ui.overview.ConjecturalAppBrief
;
import
org.apache.skywalking.apm.collector.storage.ui.service.ServiceMetric
;
import
org.apache.skywalking.apm.collector.ui.utils.DurationUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* @author peng-yongsheng
*/
public
class
ApplicationService
{
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ApplicationService
.
class
);
private
final
IInstanceUIDAO
instanceDAO
;
private
final
IServiceMetricUIDAO
serviceMetricUIDAO
;
private
final
IApplicationMetricUIDAO
applicationMetricUIDAO
;
private
final
INetworkAddressUIDAO
networkAddressUIDAO
;
private
final
ApplicationCacheService
applicationCacheService
;
private
final
ServiceNameCacheService
serviceNameCacheService
;
private
final
SecondBetweenService
secondBetweenService
;
public
ApplicationService
(
ModuleManager
moduleManager
)
{
this
.
instanceDAO
=
moduleManager
.
find
(
StorageModule
.
NAME
).
getService
(
IInstanceUIDAO
.
class
);
...
...
@@ -59,6 +65,7 @@ public class ApplicationService {
this
.
networkAddressUIDAO
=
moduleManager
.
find
(
StorageModule
.
NAME
).
getService
(
INetworkAddressUIDAO
.
class
);
this
.
applicationCacheService
=
moduleManager
.
find
(
CacheModule
.
NAME
).
getService
(
ApplicationCacheService
.
class
);
this
.
serviceNameCacheService
=
moduleManager
.
find
(
CacheModule
.
NAME
).
getService
(
ServiceNameCacheService
.
class
);
this
.
secondBetweenService
=
new
SecondBetweenService
(
moduleManager
);
}
public
List
<
Application
>
getApplications
(
long
startSecondTimeBucket
,
long
endSecondTimeBucket
,
...
...
@@ -78,13 +85,18 @@ public class ApplicationService {
return
applications
;
}
public
List
<
ServiceMetric
>
getSlowService
(
int
applicationId
,
Step
step
,
long
start
,
long
end
,
Integer
top
)
throws
ParseException
{
List
<
ServiceMetric
>
slowServices
=
serviceMetricUIDAO
.
getSlowService
(
applicationId
,
step
,
start
,
end
,
top
,
MetricSource
.
Callee
);
public
List
<
ServiceMetric
>
getSlowService
(
int
applicationId
,
Step
step
,
long
start
TimeBucket
,
long
endTimeBucket
,
long
startSecondTimeBucket
,
long
endSecondTimeBucket
,
Integer
topN
)
throws
ParseException
{
List
<
ServiceMetric
>
slowServices
=
serviceMetricUIDAO
.
getSlowService
(
applicationId
,
step
,
start
TimeBucket
,
endTimeBucket
,
topN
,
MetricSource
.
Callee
);
slowServices
.
forEach
(
slowService
->
{
slowService
.
setName
(
serviceNameCacheService
.
get
(
slowService
.
getId
()).
getServiceName
());
//TODO
slowService
.
setCallsPerSec
(
1
);
ServiceName
serviceName
=
serviceNameCacheService
.
get
(
slowService
.
getId
());
try
{
slowService
.
setCallsPerSec
((
int
)(
slowService
.
getCalls
()
/
secondBetweenService
.
calculate
(
serviceName
.
getApplicationId
(),
startSecondTimeBucket
,
endSecondTimeBucket
)));
}
catch
(
ParseException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
slowService
.
setName
(
serviceName
.
getServiceName
());
});
return
slowServices
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录