Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
javalover123888
SkyWalking
提交
04d0f554
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,发现更多精彩内容 >>
未验证
提交
04d0f554
编写于
9月 28, 2018
作者:
wu-sheng
提交者:
GitHub
9月 28, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support endpoint cpm (#1723)
上级
750bca22
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
196 addition
and
0 deletion
+196
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointCpmIndicator.java
...ore/analysis/generated/endpoint/EndpointCpmIndicator.java
+182
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointDispatcher.java
.../core/analysis/generated/endpoint/EndpointDispatcher.java
+13
-0
oap-server/server-core/src/main/resources/official_analysis.oal
...rver/server-core/src/main/resources/official_analysis.oal
+1
-0
未找到文件。
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointCpmIndicator.java
0 → 100644
浏览文件 @
04d0f554
/*
* 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.analysis.generated.endpoint
;
import
java.util.*
;
import
lombok.*
;
import
org.apache.skywalking.oap.server.core.Const
;
import
org.apache.skywalking.oap.server.core.alarm.AlarmMeta
;
import
org.apache.skywalking.oap.server.core.alarm.AlarmSupported
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.*
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType
;
import
org.apache.skywalking.oap.server.core.remote.annotation.StreamData
;
import
org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData
;
import
org.apache.skywalking.oap.server.core.storage.annotation.*
;
import
org.apache.skywalking.oap.server.core.storage.StorageBuilder
;
import
org.apache.skywalking.oap.server.core.source.Scope
;
/**
* This class is auto generated. Please don't change this class manually.
*
* @author Observability Analysis Language code generator
*/
@IndicatorType
@StreamData
@StorageEntity
(
name
=
"endpoint_cpm"
,
builder
=
EndpointCpmIndicator
.
Builder
.
class
)
public
class
EndpointCpmIndicator
extends
CPMIndicator
implements
AlarmSupported
{
@Setter
@Getter
@Column
(
columnName
=
"entity_id"
)
@IDColumn
private
java
.
lang
.
String
entityId
;
@Setter
@Getter
@Column
(
columnName
=
"service_id"
)
private
int
serviceId
;
@Setter
@Getter
@Column
(
columnName
=
"service_instance_id"
)
private
int
serviceInstanceId
;
@Override
public
String
id
()
{
String
splitJointId
=
String
.
valueOf
(
getTimeBucket
());
splitJointId
+=
Const
.
ID_SPLIT
+
entityId
;
return
splitJointId
;
}
@Override
public
int
hashCode
()
{
int
result
=
17
;
result
=
31
*
result
+
entityId
.
hashCode
();
result
=
31
*
result
+
(
int
)
getTimeBucket
();
return
result
;
}
@Override
public
int
remoteHashCode
()
{
int
result
=
17
;
result
=
31
*
result
+
entityId
.
hashCode
();
return
result
;
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
this
==
obj
)
return
true
;
if
(
obj
==
null
)
return
false
;
if
(
getClass
()
!=
obj
.
getClass
())
return
false
;
EndpointCpmIndicator
indicator
=
(
EndpointCpmIndicator
)
obj
;
if
(
entityId
!=
indicator
.
entityId
)
return
false
;
if
(
getTimeBucket
()
!=
indicator
.
getTimeBucket
())
return
false
;
return
true
;
}
@Override
public
RemoteData
.
Builder
serialize
()
{
RemoteData
.
Builder
remoteBuilder
=
RemoteData
.
newBuilder
();
remoteBuilder
.
setDataStrings
(
0
,
getEntityId
());
remoteBuilder
.
setDataLongs
(
0
,
getValue
());
remoteBuilder
.
setDataLongs
(
1
,
getTotal
());
remoteBuilder
.
setDataLongs
(
2
,
getTimeBucket
());
remoteBuilder
.
setDataIntegers
(
0
,
getServiceId
());
remoteBuilder
.
setDataIntegers
(
1
,
getServiceInstanceId
());
return
remoteBuilder
;
}
@Override
public
void
deserialize
(
RemoteData
remoteData
)
{
setEntityId
(
remoteData
.
getDataStrings
(
0
));
setValue
(
remoteData
.
getDataLongs
(
0
));
setTotal
(
remoteData
.
getDataLongs
(
1
));
setTimeBucket
(
remoteData
.
getDataLongs
(
2
));
setServiceId
(
remoteData
.
getDataIntegers
(
0
));
setServiceInstanceId
(
remoteData
.
getDataIntegers
(
1
));
}
@Override
public
AlarmMeta
getAlarmMeta
()
{
return
new
AlarmMeta
(
"endpoint_cpm"
,
Scope
.
Endpoint
,
entityId
);
}
@Override
public
Indicator
toHour
()
{
EndpointCpmIndicator
indicator
=
new
EndpointCpmIndicator
();
indicator
.
setTimeBucket
(
toTimeBucketInHour
());
indicator
.
setEntityId
(
this
.
getEntityId
());
indicator
.
setServiceId
(
this
.
getServiceId
());
indicator
.
setServiceInstanceId
(
this
.
getServiceInstanceId
());
indicator
.
setValue
(
this
.
getValue
());
indicator
.
setTotal
(
this
.
getTotal
());
indicator
.
setTimeBucket
(
this
.
getTimeBucket
());
return
indicator
;
}
@Override
public
Indicator
toDay
()
{
EndpointCpmIndicator
indicator
=
new
EndpointCpmIndicator
();
indicator
.
setTimeBucket
(
toTimeBucketInDay
());
indicator
.
setEntityId
(
this
.
getEntityId
());
indicator
.
setServiceId
(
this
.
getServiceId
());
indicator
.
setServiceInstanceId
(
this
.
getServiceInstanceId
());
indicator
.
setValue
(
this
.
getValue
());
indicator
.
setTotal
(
this
.
getTotal
());
indicator
.
setTimeBucket
(
this
.
getTimeBucket
());
return
indicator
;
}
@Override
public
Indicator
toMonth
()
{
EndpointCpmIndicator
indicator
=
new
EndpointCpmIndicator
();
indicator
.
setTimeBucket
(
toTimeBucketInMonth
());
indicator
.
setEntityId
(
this
.
getEntityId
());
indicator
.
setServiceId
(
this
.
getServiceId
());
indicator
.
setServiceInstanceId
(
this
.
getServiceInstanceId
());
indicator
.
setValue
(
this
.
getValue
());
indicator
.
setTotal
(
this
.
getTotal
());
indicator
.
setTimeBucket
(
this
.
getTimeBucket
());
return
indicator
;
}
public
static
class
Builder
implements
StorageBuilder
<
EndpointCpmIndicator
>
{
@Override
public
Map
<
String
,
Object
>
data2Map
(
EndpointCpmIndicator
storageData
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"entity_id"
,
storageData
.
getEntityId
());
map
.
put
(
"service_id"
,
storageData
.
getServiceId
());
map
.
put
(
"service_instance_id"
,
storageData
.
getServiceInstanceId
());
map
.
put
(
"value"
,
storageData
.
getValue
());
map
.
put
(
"total"
,
storageData
.
getTotal
());
map
.
put
(
"time_bucket"
,
storageData
.
getTimeBucket
());
return
map
;
}
@Override
public
EndpointCpmIndicator
map2Data
(
Map
<
String
,
Object
>
dbMap
)
{
EndpointCpmIndicator
indicator
=
new
EndpointCpmIndicator
();
indicator
.
setEntityId
((
String
)
dbMap
.
get
(
"entity_id"
));
indicator
.
setServiceId
(((
Number
)
dbMap
.
get
(
"service_id"
)).
intValue
());
indicator
.
setServiceInstanceId
(((
Number
)
dbMap
.
get
(
"service_instance_id"
)).
intValue
());
indicator
.
setValue
(((
Number
)
dbMap
.
get
(
"value"
)).
longValue
());
indicator
.
setTotal
(((
Number
)
dbMap
.
get
(
"total"
)).
longValue
());
indicator
.
setTimeBucket
(((
Number
)
dbMap
.
get
(
"time_bucket"
)).
longValue
());
return
indicator
;
}
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/endpoint/EndpointDispatcher.java
浏览文件 @
04d0f554
...
...
@@ -30,6 +30,7 @@ import org.apache.skywalking.oap.server.core.source.*;
public
class
EndpointDispatcher
implements
SourceDispatcher
<
Endpoint
>
{
@Override
public
void
dispatch
(
Endpoint
source
)
{
doEndpointCpm
(
source
);
doEndpointAvg
(
source
);
doEndpointSla
(
source
);
doEndpointP99
(
source
);
...
...
@@ -39,6 +40,18 @@ public class EndpointDispatcher implements SourceDispatcher<Endpoint> {
doEndpointP50
(
source
);
}
private
void
doEndpointCpm
(
Endpoint
source
)
{
EndpointCpmIndicator
indicator
=
new
EndpointCpmIndicator
();
indicator
.
setTimeBucket
(
source
.
getTimeBucket
());
indicator
.
setEntityId
(
source
.
getEntityId
());
indicator
.
setServiceId
(
source
.
getServiceId
());
indicator
.
setServiceInstanceId
(
source
.
getServiceInstanceId
());
indicator
.
combine
(
1
);
IndicatorProcess
.
INSTANCE
.
in
(
indicator
);
}
private
void
doEndpointAvg
(
Endpoint
source
)
{
EndpointAvgIndicator
indicator
=
new
EndpointAvgIndicator
();
...
...
oap-server/server-core/src/main/resources/official_analysis.oal
浏览文件 @
04d0f554
...
...
@@ -47,6 +47,7 @@ service_instance_resp_time= from(ServiceInstance.latency).longAvg();
service_instance_cpm = from(ServiceInstance.*).cpm();
// Endpoint scope metric
endpoint_cpm = from(Endpoint.*).cpm();
endpoint_avg = from(Endpoint.latency).longAvg();
endpoint_sla = from(Endpoint.*).percent(status == true);
endpoint_p99 = from(Endpoint.latency).p99(10);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录