Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
2bad786e
S
SkyWalking
项目概览
apache
/
SkyWalking
上一次同步 1 年多
通知
302
Star
21345
Fork
6091
代码
文件
提交
分支
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,体验更适合开发者的 AI 搜索 >>
提交
2bad786e
编写于
9月 16, 2018
作者:
彭
彭勇升 pengys
提交者:
wu-sheng
9月 16, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Analysis and query implementation of thermodynamic. (#1678)
* Metric query. * Analysis and query implementation of thermodynamic.
上级
79024ba6
变更
27
隐藏空白更改
内联
并排
Showing
27 changed file
with
319 addition
and
74 deletion
+319
-74
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/Const.java
...ain/java/org/apache/skywalking/oap/server/core/Const.java
+2
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
...rver/core/analysis/generated/all/AllHeatmapIndicator.java
+5
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP50Indicator.java
...p/server/core/analysis/generated/all/AllP50Indicator.java
+2
-2
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP75Indicator.java
...p/server/core/analysis/generated/all/AllP75Indicator.java
+2
-2
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP90Indicator.java
...p/server/core/analysis/generated/all/AllP90Indicator.java
+2
-2
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP95Indicator.java
...p/server/core/analysis/generated/all/AllP95Indicator.java
+2
-2
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllP99Indicator.java
...p/server/core/analysis/generated/all/AllP99Indicator.java
+2
-2
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/IntKeyLongValue.java
...g/oap/server/core/analysis/indicator/IntKeyLongValue.java
+15
-4
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/IntKeyLongValueArray.java
.../server/core/analysis/indicator/IntKeyLongValueArray.java
+58
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java
...king/oap/server/core/analysis/indicator/PxxIndicator.java
+6
-19
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/ThermodynamicIndicator.java
...erver/core/analysis/indicator/ThermodynamicIndicator.java
+4
-4
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
...kywalking/oap/server/core/query/MetadataQueryService.java
+70
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java
.../skywalking/oap/server/core/query/MetricQueryService.java
+1
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Attribute.java
...he/skywalking/oap/server/core/query/entity/Attribute.java
+1
-1
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ClusterBrief.java
...skywalking/oap/server/core/query/entity/ClusterBrief.java
+5
-1
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Endpoint.java
...che/skywalking/oap/server/core/query/entity/Endpoint.java
+1
-1
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Language.java
...che/skywalking/oap/server/core/query/entity/Language.java
+1
-1
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/Service.java
...ache/skywalking/oap/server/core/query/entity/Service.java
+5
-1
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/entity/ServiceInstance.java
...walking/oap/server/core/query/entity/ServiceInstance.java
+6
-3
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/query/IMetadataQueryDAO.java
...king/oap/server/core/storage/query/IMetadataQueryDAO.java
+27
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/type/StorageDataType.java
...walking/oap/server/core/storage/type/StorageDataType.java
+29
-0
oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/Service.java
.../apache/skywalking/oap/server/library/module/Service.java
+0
-1
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java
...he/skywalking/oap/query/graphql/GraphQLQueryProvider.java
+1
-1
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java
.../skywalking/oap/query/graphql/resolver/MetadataQuery.java
+40
-12
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/ColumnTypeEsMapping.java
...torage/plugin/elasticsearch/base/ColumnTypeEsMapping.java
+2
-2
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/IndicatorEsDAO.java
...ver/storage/plugin/elasticsearch/base/IndicatorEsDAO.java
+13
-2
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java
.../storage/plugin/elasticsearch/query/MetricQueryEsDAO.java
+17
-1
未找到文件。
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/Const.java
浏览文件 @
2bad786e
...
...
@@ -24,6 +24,8 @@ package org.apache.skywalking.oap.server.core;
public
class
Const
{
public
static
final
int
NONE
=
0
;
public
static
final
String
ID_SPLIT
=
"_"
;
public
static
final
String
KEY_VALUE_SPLIT
=
","
;
public
static
final
String
ARRAY_SPLIT
=
"|"
;
public
static
final
int
NONE_SERVICE_ID
=
1
;
public
static
final
int
NONE_INSTANCE_ID
=
1
;
public
static
final
int
NONE_ENDPOINT_ID
=
1
;
...
...
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/generated/all/AllHeatmapIndicator.java
浏览文件 @
2bad786e
...
...
@@ -19,15 +19,14 @@
package
org.apache.skywalking.oap.server.core.analysis.generated.all
;
import
java.util.*
;
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.alarm.*
;
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
;
import
org.apache.skywalking.oap.server.core.storage.StorageBuilder
;
import
org.apache.skywalking.oap.server.core.storage.annotation.StorageEntity
;
/**
* This class is auto generated. Please don't change this class manually.
...
...
@@ -39,7 +38,6 @@ import org.apache.skywalking.oap.server.core.source.Scope;
@StorageEntity
(
name
=
"all_heatmap"
,
builder
=
AllHeatmapIndicator
.
Builder
.
class
)
public
class
AllHeatmapIndicator
extends
ThermodynamicIndicator
implements
AlarmSupported
{
@Override
public
String
id
()
{
String
splitJointId
=
String
.
valueOf
(
getTimeBucket
());
return
splitJointId
;
...
...
@@ -51,7 +49,6 @@ public class AllHeatmapIndicator extends ThermodynamicIndicator implements Alarm
return
result
;
}
@Override
public
int
remoteHashCode
()
{
int
result
=
17
;
return
result
;
...
...
@@ -78,7 +75,6 @@ public class AllHeatmapIndicator extends ThermodynamicIndicator implements Alarm
remoteBuilder
.
setDataLongs
(
0
,
getTimeBucket
());
remoteBuilder
.
setDataIntegers
(
0
,
getStep
());
remoteBuilder
.
setDataIntegers
(
1
,
getNumOfSteps
());
getDetailGroup
().
forEach
(
element
->
remoteBuilder
.
addDataIntLongPairList
(
element
.
serialize
()));
...
...
@@ -90,11 +86,10 @@ public class AllHeatmapIndicator extends ThermodynamicIndicator implements Alarm
setTimeBucket
(
remoteData
.
getDataLongs
(
0
));
setStep
(
remoteData
.
getDataIntegers
(
0
));
setNumOfSteps
(
remoteData
.
getDataIntegers
(
1
));
setDetailGroup
(
new
ArrayList
<>
(
30
));
setDetailGroup
(
new
IntKeyLongValueArray
(
30
));
remoteData
.
getDataIntLongPairListList
().
forEach
(
element
->
{
getDetailGroup
().
add
(
new
IntKeyLongValue
(
element
.
getKey
(),
element
.
getValue
()));
});
...
...
@@ -153,7 +148,7 @@ public class AllHeatmapIndicator extends ThermodynamicIndicator implements Alarm
AllHeatmapIndicator
indicator
=
new
AllHeatmapIndicator
();
indicator
.
setStep
(((
Number
)
dbMap
.
get
(
"step"
)).
intValue
());
indicator
.
setNumOfSteps
(((
Number
)
dbMap
.
get
(
"num_of_steps"
)).
intValue
());
indicator
.
setDetailGroup
((
java
.
util
.
List
)
dbMap
.
get
(
"detail_group"
));
indicator
.
setDetailGroup
((
IntKeyLongValueArray
)
dbMap
.
get
(
"detail_group"
));
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/all/AllP50Indicator.java
浏览文件 @
2bad786e
...
...
@@ -94,7 +94,7 @@ public class AllP50Indicator extends P50Indicator implements AlarmSupported {
setValue
(
remoteData
.
getDataIntegers
(
0
));
setPrecision
(
remoteData
.
getDataIntegers
(
1
));
setDetailGroup
(
new
ArrayList
<>
(
30
));
setDetailGroup
(
new
IntKeyLongValueArray
(
30
));
remoteData
.
getDataIntLongPairListList
().
forEach
(
element
->
{
getDetailGroup
().
add
(
new
IntKeyLongValue
(
element
.
getKey
(),
element
.
getValue
()));
});
...
...
@@ -153,7 +153,7 @@ public class AllP50Indicator extends P50Indicator implements AlarmSupported {
AllP50Indicator
indicator
=
new
AllP50Indicator
();
indicator
.
setValue
(((
Number
)
dbMap
.
get
(
"value"
)).
intValue
());
indicator
.
setPrecision
(((
Number
)
dbMap
.
get
(
"precision"
)).
intValue
());
indicator
.
setDetailGroup
((
java
.
util
.
List
)
dbMap
.
get
(
"detail_group"
));
indicator
.
setDetailGroup
((
IntKeyLongValueArray
)
dbMap
.
get
(
"detail_group"
));
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/all/AllP75Indicator.java
浏览文件 @
2bad786e
...
...
@@ -94,7 +94,7 @@ public class AllP75Indicator extends P75Indicator implements AlarmSupported {
setValue
(
remoteData
.
getDataIntegers
(
0
));
setPrecision
(
remoteData
.
getDataIntegers
(
1
));
setDetailGroup
(
new
ArrayList
<>
(
30
));
setDetailGroup
(
new
IntKeyLongValueArray
(
30
));
remoteData
.
getDataIntLongPairListList
().
forEach
(
element
->
{
getDetailGroup
().
add
(
new
IntKeyLongValue
(
element
.
getKey
(),
element
.
getValue
()));
});
...
...
@@ -153,7 +153,7 @@ public class AllP75Indicator extends P75Indicator implements AlarmSupported {
AllP75Indicator
indicator
=
new
AllP75Indicator
();
indicator
.
setValue
(((
Number
)
dbMap
.
get
(
"value"
)).
intValue
());
indicator
.
setPrecision
(((
Number
)
dbMap
.
get
(
"precision"
)).
intValue
());
indicator
.
setDetailGroup
((
java
.
util
.
List
)
dbMap
.
get
(
"detail_group"
));
indicator
.
setDetailGroup
((
IntKeyLongValueArray
)
dbMap
.
get
(
"detail_group"
));
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/all/AllP90Indicator.java
浏览文件 @
2bad786e
...
...
@@ -94,7 +94,7 @@ public class AllP90Indicator extends P90Indicator implements AlarmSupported {
setValue
(
remoteData
.
getDataIntegers
(
0
));
setPrecision
(
remoteData
.
getDataIntegers
(
1
));
setDetailGroup
(
new
ArrayList
<>
(
30
));
setDetailGroup
(
new
IntKeyLongValueArray
(
30
));
remoteData
.
getDataIntLongPairListList
().
forEach
(
element
->
{
getDetailGroup
().
add
(
new
IntKeyLongValue
(
element
.
getKey
(),
element
.
getValue
()));
});
...
...
@@ -153,7 +153,7 @@ public class AllP90Indicator extends P90Indicator implements AlarmSupported {
AllP90Indicator
indicator
=
new
AllP90Indicator
();
indicator
.
setValue
(((
Number
)
dbMap
.
get
(
"value"
)).
intValue
());
indicator
.
setPrecision
(((
Number
)
dbMap
.
get
(
"precision"
)).
intValue
());
indicator
.
setDetailGroup
((
java
.
util
.
List
)
dbMap
.
get
(
"detail_group"
));
indicator
.
setDetailGroup
((
IntKeyLongValueArray
)
dbMap
.
get
(
"detail_group"
));
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/all/AllP95Indicator.java
浏览文件 @
2bad786e
...
...
@@ -94,7 +94,7 @@ public class AllP95Indicator extends P95Indicator implements AlarmSupported {
setValue
(
remoteData
.
getDataIntegers
(
0
));
setPrecision
(
remoteData
.
getDataIntegers
(
1
));
setDetailGroup
(
new
ArrayList
<>
(
30
));
setDetailGroup
(
new
IntKeyLongValueArray
(
30
));
remoteData
.
getDataIntLongPairListList
().
forEach
(
element
->
{
getDetailGroup
().
add
(
new
IntKeyLongValue
(
element
.
getKey
(),
element
.
getValue
()));
});
...
...
@@ -153,7 +153,7 @@ public class AllP95Indicator extends P95Indicator implements AlarmSupported {
AllP95Indicator
indicator
=
new
AllP95Indicator
();
indicator
.
setValue
(((
Number
)
dbMap
.
get
(
"value"
)).
intValue
());
indicator
.
setPrecision
(((
Number
)
dbMap
.
get
(
"precision"
)).
intValue
());
indicator
.
setDetailGroup
((
java
.
util
.
List
)
dbMap
.
get
(
"detail_group"
));
indicator
.
setDetailGroup
((
IntKeyLongValueArray
)
dbMap
.
get
(
"detail_group"
));
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/all/AllP99Indicator.java
浏览文件 @
2bad786e
...
...
@@ -94,7 +94,7 @@ public class AllP99Indicator extends P99Indicator implements AlarmSupported {
setValue
(
remoteData
.
getDataIntegers
(
0
));
setPrecision
(
remoteData
.
getDataIntegers
(
1
));
setDetailGroup
(
new
ArrayList
<>
(
30
));
setDetailGroup
(
new
IntKeyLongValueArray
(
30
));
remoteData
.
getDataIntLongPairListList
().
forEach
(
element
->
{
getDetailGroup
().
add
(
new
IntKeyLongValue
(
element
.
getKey
(),
element
.
getValue
()));
});
...
...
@@ -153,7 +153,7 @@ public class AllP99Indicator extends P99Indicator implements AlarmSupported {
AllP99Indicator
indicator
=
new
AllP99Indicator
();
indicator
.
setValue
(((
Number
)
dbMap
.
get
(
"value"
)).
intValue
());
indicator
.
setPrecision
(((
Number
)
dbMap
.
get
(
"precision"
)).
intValue
());
indicator
.
setDetailGroup
((
java
.
util
.
List
)
dbMap
.
get
(
"detail_group"
));
indicator
.
setDetailGroup
((
IntKeyLongValueArray
)
dbMap
.
get
(
"detail_group"
));
indicator
.
setTimeBucket
(((
Number
)
dbMap
.
get
(
"time_bucket"
)).
longValue
());
return
indicator
;
}
...
...
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/IntKeyLongValue.java
浏览文件 @
2bad786e
...
...
@@ -19,18 +19,19 @@
package
org.apache.skywalking.oap.server.core.analysis.indicator
;
import
java.util.Objects
;
import
lombok.
Getter
;
import
lombok.Setter
;
import
lombok.
*
;
import
org.apache.skywalking.oap.server.core.Const
;
import
org.apache.skywalking.oap.server.core.remote.grpc.proto.IntKeyLongValuePair
;
import
org.apache.skywalking.oap.server.core.storage.type.StorageDataType
;
/**
* IntKeyLongValue is a common bean, with key in Int and value in Long
*
* @author wusheng
* @author wusheng
, peng-yongsheng
*/
@Setter
@Getter
public
class
IntKeyLongValue
implements
Comparable
<
IntKeyLongValue
>
{
public
class
IntKeyLongValue
implements
Comparable
<
IntKeyLongValue
>
,
StorageDataType
{
private
int
key
;
private
long
value
;
...
...
@@ -72,4 +73,14 @@ public class IntKeyLongValue implements Comparable<IntKeyLongValue> {
this
.
key
=
pair
.
getKey
();
this
.
value
=
pair
.
getValue
();
}
@Override
public
String
toStorageData
()
{
return
key
+
Const
.
KEY_VALUE_SPLIT
+
value
;
}
@Override
public
void
toObject
(
String
data
)
{
String
[]
keyValue
=
data
.
split
(
Const
.
KEY_VALUE_SPLIT
);
this
.
key
=
Integer
.
valueOf
(
keyValue
[
0
]);
this
.
value
=
Long
.
valueOf
(
keyValue
[
1
]);
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/IntKeyLongValueArray.java
0 → 100644
浏览文件 @
2bad786e
/*
* 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.indicator
;
import
java.util.ArrayList
;
import
org.apache.skywalking.oap.server.core.Const
;
import
org.apache.skywalking.oap.server.core.storage.type.StorageDataType
;
/**
* @author peng-yongsheng
*/
public
class
IntKeyLongValueArray
extends
ArrayList
<
IntKeyLongValue
>
implements
StorageDataType
{
public
IntKeyLongValueArray
(
int
initialCapacity
)
{
super
(
initialCapacity
);
}
public
IntKeyLongValueArray
()
{
super
();
}
@Override
public
String
toStorageData
()
{
StringBuilder
data
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
this
.
size
();
i
++)
{
if
(
i
==
0
)
{
data
.
append
(
this
.
get
(
i
).
toStorageData
());
}
else
{
data
.
append
(
Const
.
ARRAY_SPLIT
).
append
(
this
.
get
(
i
).
toStorageData
());
}
}
return
data
.
toString
();
}
@Override
public
void
toObject
(
String
data
)
{
String
[]
keyValues
=
data
.
split
(
Const
.
ARRAY_SPLIT
);
for
(
int
i
=
0
;
i
<
keyValues
.
length
;
i
++)
{
IntKeyLongValue
value
=
new
IntKeyLongValue
();
value
.
toObject
(
keyValues
[
i
]);
this
.
set
(
i
,
value
);
}
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/PxxIndicator.java
浏览文件 @
2bad786e
...
...
@@ -18,17 +18,9 @@
package
org.apache.skywalking.oap.server.core.analysis.indicator
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.Arg
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.Entrance
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorOperator
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.SourceFrom
;
import
java.util.*
;
import
lombok.*
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.annotation.*
;
import
org.apache.skywalking.oap.server.core.storage.annotation.Column
;
/**
...
...
@@ -38,7 +30,7 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
* observations in a group of observations fall. For example, the 20th percentile is the value (or score) below which
* 20% of the observations may be found.
*
* @author wusheng
* @author wusheng
, peng-yongsheng
*/
@IndicatorOperator
public
abstract
class
PxxIndicator
extends
Indicator
implements
IntValueHolder
{
...
...
@@ -48,14 +40,14 @@ public abstract class PxxIndicator extends Indicator implements IntValueHolder {
@Getter
@Setter
@Column
(
columnName
=
VALUE
)
private
int
value
;
@Getter
@Setter
@Column
(
columnName
=
PRECISION
)
private
int
precision
;
@Getter
@Setter
@Column
(
columnName
=
DETAIL_GROUP
)
private
List
<
IntKeyLongValue
>
detailGroup
;
@Getter
@Setter
@Column
(
columnName
=
DETAIL_GROUP
)
private
IntKeyLongValueArray
detailGroup
;
private
final
int
percentileRank
;
private
Map
<
Integer
,
IntKeyLongValue
>
detailIndex
;
public
PxxIndicator
(
int
percentileRank
)
{
this
.
percentileRank
=
percentileRank
;
detailGroup
=
new
ArrayList
<>
(
30
);
detailGroup
=
new
IntKeyLongValueArray
(
30
);
}
@Entrance
...
...
@@ -111,11 +103,6 @@ public abstract class PxxIndicator extends Indicator implements IntValueHolder {
}
}
@Override
public
int
getValue
()
{
return
value
;
}
private
void
addElement
(
IntKeyLongValue
element
)
{
detailGroup
.
add
(
element
);
detailIndex
.
put
(
element
.
getKey
(),
element
);
...
...
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/indicator/ThermodynamicIndicator.java
浏览文件 @
2bad786e
...
...
@@ -31,17 +31,17 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
* A heat map (or heatmap) is a graphical representation of data where the individual values contained in a matrix are
* represented as colors.
*
* @author wusheng
* @author wusheng
, peng-yongsheng
*/
@IndicatorOperator
public
abstract
class
ThermodynamicIndicator
extends
Indicator
{
p
rotected
static
final
String
DETAIL_GROUP
=
"detail_group"
;
p
rotected
static
final
String
STEP
=
"step"
;
p
ublic
static
final
String
DETAIL_GROUP
=
"detail_group"
;
p
ublic
static
final
String
STEP
=
"step"
;
public
static
final
String
NUM_OF_STEPS
=
"num_of_steps"
;
@Getter
@Setter
@Column
(
columnName
=
STEP
)
private
int
step
=
0
;
@Getter
@Setter
@Column
(
columnName
=
NUM_OF_STEPS
)
private
int
numOfSteps
=
0
;
@Getter
@Setter
@Column
(
columnName
=
DETAIL_GROUP
)
private
List
<
IntKeyLongValue
>
detailGroup
=
new
ArrayList
<>
(
30
);
@Getter
@Setter
@Column
(
columnName
=
DETAIL_GROUP
)
private
IntKeyLongValueArray
detailGroup
=
new
IntKeyLongValueArray
(
30
);
private
Map
<
Integer
,
IntKeyLongValue
>
detailIndex
;
...
...
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java
0 → 100644
浏览文件 @
2bad786e
/*
* 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.query
;
import
java.util.*
;
import
org.apache.skywalking.oap.server.core.query.entity.*
;
import
org.apache.skywalking.oap.server.core.storage.StorageModule
;
import
org.apache.skywalking.oap.server.core.storage.query.IMetadataQueryDAO
;
import
org.apache.skywalking.oap.server.library.module.ModuleManager
;
/**
* @author peng-yongsheng
*/
public
class
MetadataQueryService
implements
org
.
apache
.
skywalking
.
oap
.
server
.
library
.
module
.
Service
{
private
final
ModuleManager
moduleManager
;
private
IMetadataQueryDAO
metadataQueryDAO
;
public
MetadataQueryService
(
ModuleManager
moduleManager
)
{
this
.
moduleManager
=
moduleManager
;
}
public
IMetadataQueryDAO
getMetadataQueryDAO
()
{
if
(
metadataQueryDAO
==
null
)
{
metadataQueryDAO
=
moduleManager
.
find
(
StorageModule
.
NAME
).
getService
(
IMetadataQueryDAO
.
class
);
}
return
metadataQueryDAO
;
}
public
ClusterBrief
getGlobalBrief
(
final
Step
step
,
final
long
startTB
,
final
long
endTB
)
{
return
new
ClusterBrief
();
}
public
List
<
Service
>
getAllServices
(
final
Step
step
,
final
long
startTB
,
final
long
endTB
)
{
return
Collections
.
emptyList
();
}
public
List
<
Service
>
searchServices
(
final
Step
step
,
final
long
startTB
,
final
long
endTB
,
final
String
keyword
)
{
return
Collections
.
emptyList
();
}
public
List
<
ServiceInstance
>
getServiceInstances
(
final
Step
step
,
final
long
startTB
,
final
long
endTB
,
final
String
id
)
{
return
Collections
.
emptyList
();
}
public
List
<
Endpoint
>
searchEndpoint
(
final
String
keyword
,
final
String
serviceId
,
final
int
limit
)
{
return
Collections
.
emptyList
();
}
public
Service
searchService
(
final
Step
step
,
final
long
startTB
,
final
long
endTB
,
final
String
serviceCode
)
{
return
new
Service
();
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java
浏览文件 @
2bad786e
...
...
@@ -29,6 +29,7 @@ import org.apache.skywalking.oap.server.core.storage.StorageModule;
import
org.apache.skywalking.oap.server.core.storage.annotation.ValueColumnIds
;
import
org.apache.skywalking.oap.server.core.storage.query.IMetricQueryDAO
;
import
org.apache.skywalking.oap.server.library.module.*
;
import
org.apache.skywalking.oap.server.library.module.Service
;
import
org.slf4j.*
;
/**
...
...
oap-server/server-
query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type
/Attribute.java
→
oap-server/server-
core/src/main/java/org/apache/skywalking/oap/server/core/query/entity
/Attribute.java
浏览文件 @
2bad786e
...
...
@@ -16,7 +16,7 @@
*
*/
package
org.apache.skywalking.oap.
query.graphql.type
;
package
org.apache.skywalking.oap.
server.core.query.entity
;
public
class
Attribute
{
private
String
name
;
...
...
oap-server/server-
query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type
/ClusterBrief.java
→
oap-server/server-
core/src/main/java/org/apache/skywalking/oap/server/core/query/entity
/ClusterBrief.java
浏览文件 @
2bad786e
...
...
@@ -16,8 +16,12 @@
*
*/
package
org.apache.skywalking.oap.
query.graphql.type
;
package
org.apache.skywalking.oap.
server.core.query.entity
;
import
lombok.*
;
@Getter
@Setter
public
class
ClusterBrief
{
private
int
numOfService
;
private
int
numOfEndpoint
;
...
...
oap-server/server-
query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type
/Endpoint.java
→
oap-server/server-
core/src/main/java/org/apache/skywalking/oap/server/core/query/entity
/Endpoint.java
浏览文件 @
2bad786e
...
...
@@ -16,7 +16,7 @@
*
*/
package
org.apache.skywalking.oap.
query.graphql.type
;
package
org.apache.skywalking.oap.
server.core.query.entity
;
public
class
Endpoint
{
private
String
id
;
...
...
oap-server/server-
query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type
/Language.java
→
oap-server/server-
core/src/main/java/org/apache/skywalking/oap/server/core/query/entity
/Language.java
浏览文件 @
2bad786e
...
...
@@ -16,7 +16,7 @@
*
*/
package
org.apache.skywalking.oap.
query.graphql.type
;
package
org.apache.skywalking.oap.
server.core.query.entity
;
public
enum
Language
{
UNKNOWN
,
...
...
oap-server/server-
query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type
/Service.java
→
oap-server/server-
core/src/main/java/org/apache/skywalking/oap/server/core/query/entity
/Service.java
浏览文件 @
2bad786e
...
...
@@ -16,8 +16,12 @@
*
*/
package
org.apache.skywalking.oap.
query.graphql.type
;
package
org.apache.skywalking.oap.
server.core.query.entity
;
import
lombok.*
;
@Getter
@Setter
public
class
Service
{
private
String
id
;
private
String
name
;
...
...
oap-server/server-
query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/type
/ServiceInstance.java
→
oap-server/server-
core/src/main/java/org/apache/skywalking/oap/server/core/query/entity
/ServiceInstance.java
浏览文件 @
2bad786e
...
...
@@ -16,13 +16,16 @@
*
*/
package
org.apache.skywalking.oap.
query.graphql.type
;
package
org.apache.skywalking.oap.
server.core.query.entity
;
import
java.util.List
;
import
java.util.*
;
import
lombok.*
;
@Getter
@Setter
public
class
ServiceInstance
{
private
String
id
;
private
String
name
;
private
List
<
Attribute
>
attributes
;
private
List
<
Attribute
>
attributes
=
new
ArrayList
<>()
;
private
Language
language
;
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/query/IMetadataQueryDAO.java
0 → 100644
浏览文件 @
2bad786e
/*
* 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.storage.query
;
import
org.apache.skywalking.oap.server.core.storage.DAO
;
/**
* @author peng-yongsheng
*/
public
interface
IMetadataQueryDAO
extends
DAO
{
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/type/StorageDataType.java
0 → 100644
浏览文件 @
2bad786e
/*
* 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.storage.type
;
/**
* @author peng-yongsheng
*/
public
interface
StorageDataType
{
String
toStorageData
();
void
toObject
(
String
data
);
}
oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/Service.java
浏览文件 @
2bad786e
...
...
@@ -16,7 +16,6 @@
*
*/
package
org.apache.skywalking.oap.server.library.module
;
/**
...
...
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java
浏览文件 @
2bad786e
...
...
@@ -55,7 +55,7 @@ public class GraphQLQueryProvider extends ModuleProvider {
.
file
(
"query-protocol/common.graphqls"
)
.
resolvers
(
new
Query
(),
new
Mutation
())
.
file
(
"query-protocol/metadata.graphqls"
)
.
resolvers
(
new
MetadataQuery
())
.
resolvers
(
new
MetadataQuery
(
getManager
()
))
.
file
(
"query-protocol/metric.graphqls"
)
.
resolvers
(
new
MetricQuery
(
getManager
()))
.
file
(
"query-protocol/topology.graphqls"
)
...
...
oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java
浏览文件 @
2bad786e
...
...
@@ -19,37 +19,65 @@
package
org.apache.skywalking.oap.query.graphql.resolver
;
import
com.coxautodev.graphql.tools.GraphQLQueryResolver
;
import
java.util.Collections
;
import
java.util.List
;
import
org.apache.skywalking.oap.query.graphql.type.ClusterBrief
;
import
org.apache.skywalking.oap.query.graphql.type.Duration
;
import
org.apache.skywalking.oap.query.graphql.type.Endpoint
;
import
org.apache.skywalking.oap.query.graphql.type.Service
;
import
org.apache.skywalking.oap.query.graphql.type.ServiceInstance
;
import
org.apache.skywalking.oap.server.core.CoreModule
;
import
org.apache.skywalking.oap.server.core.query.*
;
import
org.apache.skywalking.oap.server.core.query.entity.*
;
import
org.apache.skywalking.oap.server.library.module.ModuleManager
;
public
class
MetadataQuery
implements
GraphQLQueryResolver
{
private
final
ModuleManager
moduleManager
;
private
MetadataQueryService
metadataQueryService
;
public
MetadataQuery
(
ModuleManager
moduleManager
)
{
this
.
moduleManager
=
moduleManager
;
}
private
MetadataQueryService
getMetadataQueryService
()
{
if
(
metadataQueryService
==
null
)
{
this
.
metadataQueryService
=
moduleManager
.
find
(
CoreModule
.
NAME
).
getService
(
MetadataQueryService
.
class
);
}
return
metadataQueryService
;
}
public
ClusterBrief
getGlobalBrief
(
final
Duration
duration
)
{
return
new
ClusterBrief
();
long
startTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getStart
());
long
endTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getEnd
());
return
getMetadataQueryService
().
getGlobalBrief
(
duration
.
getStep
(),
startTimeBucket
,
endTimeBucket
);
}
public
List
<
Service
>
getAllServices
(
final
Duration
duration
)
{
return
Collections
.
emptyList
();
long
startTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getStart
());
long
endTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getEnd
());
return
getMetadataQueryService
().
getAllServices
(
duration
.
getStep
(),
startTimeBucket
,
endTimeBucket
);
}
public
List
<
Service
>
searchServices
(
final
Duration
duration
,
final
String
keyword
)
{
return
Collections
.
emptyList
();
long
startTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getStart
());
long
endTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getEnd
());
return
getMetadataQueryService
().
searchServices
(
duration
.
getStep
(),
startTimeBucket
,
endTimeBucket
,
keyword
);
}
public
List
<
ServiceInstance
>
getServiceInstances
(
final
Duration
duration
,
final
String
id
)
{
return
Collections
.
emptyList
();
long
startTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getStart
());
long
endTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getEnd
());
return
getMetadataQueryService
().
getServiceInstances
(
duration
.
getStep
(),
startTimeBucket
,
endTimeBucket
,
id
);
}
public
List
<
Endpoint
>
searchEndpoint
(
final
String
keyword
,
final
String
serviceId
,
final
int
limit
)
{
return
Collections
.
emptyList
(
);
return
getMetadataQueryService
().
searchEndpoint
(
keyword
,
serviceId
,
limit
);
}
public
Service
searchService
(
final
Duration
duration
,
final
String
serviceCode
)
{
return
new
Service
();
long
startTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getStart
());
long
endTimeBucket
=
DurationUtils
.
INSTANCE
.
exchangeToTimeBucket
(
duration
.
getEnd
());
return
getMetadataQueryService
().
searchService
(
duration
.
getStep
(),
startTimeBucket
,
endTimeBucket
,
serviceCode
);
}
}
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/ColumnTypeEsMapping.java
浏览文件 @
2bad786e
...
...
@@ -18,7 +18,7 @@
package
org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base
;
import
java.util.List
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.IntKeyLongValueArray
;
import
org.apache.skywalking.oap.server.core.storage.model.DataTypeMapping
;
/**
...
...
@@ -35,7 +35,7 @@ public class ColumnTypeEsMapping implements DataTypeMapping {
return
"double"
;
}
else
if
(
String
.
class
.
equals
(
type
))
{
return
"keyword"
;
}
else
if
(
List
.
class
.
equals
(
type
))
{
}
else
if
(
IntKeyLongValueArray
.
class
.
equals
(
type
))
{
return
"keyword"
;
}
else
{
throw
new
IllegalArgumentException
(
"Unsupported data type: "
+
type
.
getName
());
...
...
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/IndicatorEsDAO.java
浏览文件 @
2bad786e
...
...
@@ -22,6 +22,7 @@ import java.io.IOException;
import
java.util.Map
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.Indicator
;
import
org.apache.skywalking.oap.server.core.storage.*
;
import
org.apache.skywalking.oap.server.core.storage.type.StorageDataType
;
import
org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient
;
import
org.elasticsearch.action.get.GetResponse
;
import
org.elasticsearch.action.index.IndexRequest
;
...
...
@@ -54,7 +55,12 @@ public class IndicatorEsDAO extends EsDAO implements IIndicatorDAO<IndexRequest,
XContentBuilder
builder
=
XContentFactory
.
jsonBuilder
().
startObject
();
for
(
String
key
:
objectMap
.
keySet
())
{
builder
.
field
(
key
,
objectMap
.
get
(
key
));
Object
value
=
objectMap
.
get
(
key
);
if
(
value
instanceof
StorageDataType
)
{
builder
.
field
(
key
,
((
StorageDataType
)
value
).
toStorageData
());
}
else
{
builder
.
field
(
key
,
value
);
}
}
builder
.
endObject
();
return
getClient
().
prepareInsert
(
modelName
,
indicator
.
id
(),
builder
);
...
...
@@ -65,7 +71,12 @@ public class IndicatorEsDAO extends EsDAO implements IIndicatorDAO<IndexRequest,
XContentBuilder
builder
=
XContentFactory
.
jsonBuilder
().
startObject
();
for
(
String
key
:
objectMap
.
keySet
())
{
builder
.
field
(
key
,
objectMap
.
get
(
key
));
Object
value
=
objectMap
.
get
(
key
);
if
(
value
instanceof
StorageDataType
)
{
builder
.
field
(
key
,
((
StorageDataType
)
value
).
toStorageData
());
}
else
{
builder
.
field
(
key
,
value
);
}
}
builder
.
endObject
();
return
getClient
().
prepareUpdate
(
modelName
,
indicator
.
id
(),
builder
);
...
...
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetricQueryEsDAO.java
浏览文件 @
2bad786e
...
...
@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query;
import
java.io.IOException
;
import
java.util.*
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.
Indicator
;
import
org.apache.skywalking.oap.server.core.analysis.indicator.
*
;
import
org.apache.skywalking.oap.server.core.query.entity.*
;
import
org.apache.skywalking.oap.server.core.query.sql.*
;
import
org.apache.skywalking.oap.server.core.storage.TimePyramidTableNameBuilder
;
...
...
@@ -107,7 +107,23 @@ public class MetricQueryEsDAO extends EsDAO implements IMetricQueryDAO {
Thermodynamic
thermodynamic
=
new
Thermodynamic
();
for
(
MultiGetItemResponse
itemResponse
:
response
.
getResponses
())
{
int
axisYStep
=
((
Number
)
itemResponse
.
getResponse
().
getSource
().
get
(
ThermodynamicIndicator
.
STEP
)).
intValue
();
thermodynamic
.
setAxisYStep
(
axisYStep
);
int
numOfSteps
=
((
Number
)
itemResponse
.
getResponse
().
getSource
().
get
(
ThermodynamicIndicator
.
NUM_OF_STEPS
)).
intValue
();
String
value
=
(
String
)
itemResponse
.
getResponse
().
getSource
().
get
(
ThermodynamicIndicator
.
DETAIL_GROUP
);
IntKeyLongValueArray
intKeyLongValues
=
new
IntKeyLongValueArray
();
intKeyLongValues
.
toObject
(
value
);
List
<
Long
>
axisYValues
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
numOfSteps
;
i
++)
{
axisYValues
.
add
(
0L
);
}
for
(
IntKeyLongValue
intKeyLongValue
:
intKeyLongValues
)
{
axisYValues
.
set
(
intKeyLongValue
.
getKey
(),
intKeyLongValue
.
getValue
());
}
thermodynamic
.
getNodes
().
add
(
axisYValues
);
}
return
thermodynamic
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录