Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
90b268e1
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,发现更多精彩内容 >>
未验证
提交
90b268e1
编写于
7月 13, 2022
作者:
wu-sheng
提交者:
GitHub
7月 13, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Revert #8066 introduced in 8.9.0 (#9336)
* Revert #8066 * Update changelog
上级
a46cfa02
变更
19
显示空白变更内容
内联
并排
Showing
19 changed file
with
12 addition
and
231 deletion
+12
-231
docs/en/changes/changes.md
docs/en/changes/changes.md
+1
-0
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java
.../server/core/analysis/meter/function/avg/AvgFunction.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunction.java
...r/core/analysis/meter/function/latest/LatestFunction.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumFunction.java
.../server/core/analysis/meter/function/sum/SumFunction.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java
...alking/oap/server/core/analysis/metrics/ApdexMetrics.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CPMMetrics.java
...ywalking/oap/server/core/analysis/metrics/CPMMetrics.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CountMetrics.java
...alking/oap/server/core/analysis/metrics/CountMetrics.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/DoubleAvgMetrics.java
...ng/oap/server/core/analysis/metrics/DoubleAvgMetrics.java
+0
-11
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/HavingDefaultValue.java
.../oap/server/core/analysis/metrics/HavingDefaultValue.java
+0
-42
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/LongAvgMetrics.java
...king/oap/server/core/analysis/metrics/LongAvgMetrics.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxDoubleMetrics.java
...ng/oap/server/core/analysis/metrics/MaxDoubleMetrics.java
+0
-11
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxLongMetrics.java
...king/oap/server/core/analysis/metrics/MaxLongMetrics.java
+4
-11
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
.../skywalking/oap/server/core/analysis/metrics/Metrics.java
+1
-1
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinDoubleMetrics.java
...ng/oap/server/core/analysis/metrics/MinDoubleMetrics.java
+0
-11
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinLongMetrics.java
...king/oap/server/core/analysis/metrics/MinLongMetrics.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentMetrics.java
...king/oap/server/core/analysis/metrics/PercentMetrics.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/RateMetrics.java
...walking/oap/server/core/analysis/metrics/RateMetrics.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/SumMetrics.java
...ywalking/oap/server/core/analysis/metrics/SumMetrics.java
+0
-10
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java
.../server/core/analysis/worker/MetricsPersistentWorker.java
+6
-34
未找到文件。
docs/en/changes/changes.md
浏览文件 @
90b268e1
...
...
@@ -19,6 +19,7 @@
*
Add
`expPrefix`
,
`initExp`
in MAL config.
*
Add component ID(7015) for Python Bottle plugin.
*
Remove legacy OAL
`percentile`
functions,
`p99`
,
`p95`
,
`p90`
,
`p75`
,
`p50`
func(s).
*
Revert
[
#8066
](
https://github.com/apache/skywalking/pull/8066
)
. Keep all metrics persistent even it is default value.
#### UI
...
...
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgFunction.java
浏览文件 @
90b268e1
...
...
@@ -214,14 +214,4 @@ public abstract class AvgFunction extends Meter implements AcceptableValue<Long>
public
int
hashCode
()
{
return
Objects
.
hash
(
entityId
,
getTimeBucket
());
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunction.java
浏览文件 @
90b268e1
...
...
@@ -187,14 +187,4 @@ public abstract class LatestFunction extends Meter implements AcceptableValue<Lo
public
int
hashCode
()
{
return
Objects
.
hash
(
entityId
,
getTimeBucket
());
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/function/sum/SumFunction.java
浏览文件 @
90b268e1
...
...
@@ -184,14 +184,4 @@ public abstract class SumFunction extends Meter implements AcceptableValue<Long>
public
int
hashCode
()
{
return
Objects
.
hash
(
getEntityId
(),
getTimeBucket
());
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/ApdexMetrics.java
浏览文件 @
90b268e1
...
...
@@ -95,14 +95,4 @@ public abstract class ApdexMetrics extends Metrics implements IntValueHolder {
public
int
getValue
()
{
return
value
;
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CPMMetrics.java
浏览文件 @
90b268e1
...
...
@@ -57,15 +57,5 @@ public abstract class CPMMetrics extends Metrics implements LongValueHolder {
public
void
calculate
()
{
this
.
value
=
total
/
getDurationInMinute
();
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/CountMetrics.java
浏览文件 @
90b268e1
...
...
@@ -51,14 +51,4 @@ public abstract class CountMetrics extends Metrics implements LongValueHolder {
@Override
public
void
calculate
()
{
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/DoubleAvgMetrics.java
浏览文件 @
90b268e1
...
...
@@ -64,15 +64,4 @@ public abstract class DoubleAvgMetrics extends Metrics implements DoubleValueHol
public
final
void
calculate
()
{
this
.
value
=
this
.
summation
/
this
.
count
;
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
// Value in the query stage will ignore decimal places after a decimal point
return
Double
.
valueOf
(
value
).
longValue
()
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/HavingDefaultValue.java
已删除
100644 → 0
浏览文件 @
a46cfa02
/*
* 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.metrics
;
/**
* HavingDefaultValue interface defines a capability for the metric implementations, which has the declaration of the
* default value.
*
* For the declared metrics, the OAP server would skip the persistence of minute dimensionality metrics to reduce
* resource costs for the database, when the value of the metric is the default.
*/
public
interface
HavingDefaultValue
{
/**
* @return true if the implementation of this metric has the definition of default value.
*/
default
boolean
haveDefault
()
{
return
false
;
}
/**
* @return true when the latest value equals the default value.
*/
default
boolean
isDefaultValue
()
{
return
false
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/LongAvgMetrics.java
浏览文件 @
90b268e1
...
...
@@ -64,14 +64,4 @@ public abstract class LongAvgMetrics extends Metrics implements LongValueHolder
public
final
void
calculate
()
{
this
.
value
=
this
.
summation
/
this
.
count
;
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxDoubleMetrics.java
浏览文件 @
90b268e1
...
...
@@ -52,15 +52,4 @@ public abstract class MaxDoubleMetrics extends Metrics implements DoubleValueHol
@Override
public
void
calculate
()
{
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
// Value in the query stage will ignore decimal places after a decimal point
return
Double
.
valueOf
(
value
).
longValue
()
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MaxLongMetrics.java
浏览文件 @
90b268e1
...
...
@@ -25,6 +25,9 @@ import org.apache.skywalking.oap.server.core.analysis.metrics.annotation.Metrics
import
org.apache.skywalking.oap.server.core.analysis.metrics.annotation.SourceFrom
;
import
org.apache.skywalking.oap.server.core.storage.annotation.Column
;
/**
*
**/
@MetricsFunction
(
functionName
=
"max"
)
public
abstract
class
MaxLongMetrics
extends
Metrics
implements
LongValueHolder
{
...
...
@@ -33,7 +36,7 @@ public abstract class MaxLongMetrics extends Metrics implements LongValueHolder
@Getter
@Setter
@Column
(
columnName
=
VALUE
,
dataType
=
Column
.
ValueDataType
.
COMMON_VALUE
)
private
long
value
=
Long
.
MIN_VALUE
;
private
long
value
;
@Entrance
public
final
void
combine
(
@SourceFrom
long
count
)
{
...
...
@@ -52,14 +55,4 @@ public abstract class MaxLongMetrics extends Metrics implements LongValueHolder
@Override
public
void
calculate
()
{
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Metrics.java
浏览文件 @
90b268e1
...
...
@@ -33,7 +33,7 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
@EqualsAndHashCode
(
of
=
{
"timeBucket"
})
public
abstract
class
Metrics
extends
StreamData
implements
StorageData
,
HavingDefaultValue
{
public
abstract
class
Metrics
extends
StreamData
implements
StorageData
{
public
static
final
String
TIME_BUCKET
=
"time_bucket"
;
public
static
final
String
ENTITY_ID
=
"entity_id"
;
...
...
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinDoubleMetrics.java
浏览文件 @
90b268e1
...
...
@@ -52,15 +52,4 @@ public abstract class MinDoubleMetrics extends Metrics implements DoubleValueHol
@Override
public
void
calculate
()
{
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
// Value in the query stage will ignore decimal places after a decimal point
return
Double
.
valueOf
(
value
).
longValue
()
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/MinLongMetrics.java
浏览文件 @
90b268e1
...
...
@@ -52,14 +52,4 @@ public abstract class MinLongMetrics extends Metrics implements LongValueHolder
@Override
public
void
calculate
()
{
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/PercentMetrics.java
浏览文件 @
90b268e1
...
...
@@ -69,14 +69,4 @@ public abstract class PercentMetrics extends Metrics implements IntValueHolder {
public
int
getValue
()
{
return
percentage
;
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
percentage
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/RateMetrics.java
浏览文件 @
90b268e1
...
...
@@ -73,14 +73,4 @@ public abstract class RateMetrics extends Metrics implements IntValueHolder {
public
int
getValue
()
{
return
percentage
;
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
percentage
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/SumMetrics.java
浏览文件 @
90b268e1
...
...
@@ -51,14 +51,4 @@ public abstract class SumMetrics extends Metrics implements LongValueHolder {
@Override
public
void
calculate
()
{
}
@Override
public
boolean
haveDefault
()
{
return
true
;
}
@Override
public
boolean
isDefaultValue
()
{
return
value
==
0
;
}
}
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java
浏览文件 @
90b268e1
...
...
@@ -28,6 +28,10 @@ import java.util.Optional;
import
java.util.Properties
;
import
java.util.stream.Collectors
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.skywalking.oap.server.library.datacarrier.DataCarrier
;
import
org.apache.skywalking.oap.server.library.datacarrier.consumer.BulkConsumePool
;
import
org.apache.skywalking.oap.server.library.datacarrier.consumer.ConsumerPoolFactory
;
import
org.apache.skywalking.oap.server.library.datacarrier.consumer.IConsumer
;
import
org.apache.skywalking.oap.server.core.UnexpectedException
;
import
org.apache.skywalking.oap.server.core.analysis.data.MergableBufferedData
;
import
org.apache.skywalking.oap.server.core.analysis.data.ReadWriteSafeCache
;
...
...
@@ -37,10 +41,6 @@ import org.apache.skywalking.oap.server.core.storage.IMetricsDAO;
import
org.apache.skywalking.oap.server.core.storage.model.Model
;
import
org.apache.skywalking.oap.server.core.worker.AbstractWorker
;
import
org.apache.skywalking.oap.server.library.client.request.PrepareRequest
;
import
org.apache.skywalking.oap.server.library.datacarrier.DataCarrier
;
import
org.apache.skywalking.oap.server.library.datacarrier.consumer.BulkConsumePool
;
import
org.apache.skywalking.oap.server.library.datacarrier.consumer.ConsumerPoolFactory
;
import
org.apache.skywalking.oap.server.library.datacarrier.consumer.IConsumer
;
import
org.apache.skywalking.oap.server.library.module.ModuleDefineHolder
;
import
org.apache.skywalking.oap.server.telemetry.TelemetryModule
;
import
org.apache.skywalking.oap.server.telemetry.api.CounterMetrics
;
...
...
@@ -68,7 +68,6 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
private
final
boolean
supportUpdate
;
private
long
sessionTimeout
;
private
CounterMetrics
aggregationCounter
;
private
CounterMetrics
skippedMetricsCounter
;
/**
* The counter for the round of persistent.
*/
...
...
@@ -83,11 +82,6 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
* @since 8.7.0 TTL settings from {@link org.apache.skywalking.oap.server.core.CoreModuleConfig#getMetricsDataTTL()}
*/
private
int
metricsDataTTL
;
/**
* @since 8.9.0 The persistence of minute dimensionality metrics will be skipped if the value of the metric is the
* default.
*/
private
boolean
skipDefaultValueMetric
;
MetricsPersistentWorker
(
ModuleDefineHolder
moduleDefineHolder
,
Model
model
,
IMetricsDAO
metricsDAO
,
AbstractWorker
<
Metrics
>
nextAlarmWorker
,
AbstractWorker
<
ExportEvent
>
nextExportWorker
,
...
...
@@ -106,7 +100,6 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
this
.
persistentCounter
=
0
;
this
.
persistentMod
=
1
;
this
.
metricsDataTTL
=
metricsDataTTL
;
this
.
skipDefaultValueMetric
=
true
;
String
name
=
"METRICS_L2_AGGREGATION"
;
int
size
=
BulkConsumePool
.
Creator
.
recommendMaxSize
()
/
8
;
...
...
@@ -131,11 +124,6 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
new
MetricsTag
.
Keys
(
"metricName"
,
"level"
,
"dimensionality"
),
new
MetricsTag
.
Values
(
model
.
getName
(),
"2"
,
model
.
getDownsampling
().
getName
())
);
skippedMetricsCounter
=
metricsCreator
.
createCounter
(
"metrics_persistence_skipped"
,
"The number of metrics skipped in persistence due to be in default value"
,
new
MetricsTag
.
Keys
(
"metricName"
,
"dimensionality"
),
new
MetricsTag
.
Values
(
model
.
getName
(),
model
.
getDownsampling
().
getName
())
);
SESSION_TIMEOUT_OFFSITE_COUNTER
++;
}
...
...
@@ -153,12 +141,6 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
null
,
null
,
null
,
enableDatabaseSession
,
supportUpdate
,
storageSessionTimeout
,
metricsDataTTL
);
// Skipping default value mechanism only works for minute dimensionality.
// Metrics in hour and day dimensionalities would not apply this as duration is too long,
// applying this could make precision of hour/day metrics to be lost easily.
this
.
skipDefaultValueMetric
=
false
;
// For a down-sampling metrics, we prolong the session timeout for 4 times, nearly 5 minutes.
// And add offset according to worker creation sequence, to avoid context clear overlap,
// eventually optimize load of IDs reading.
...
...
@@ -243,22 +225,12 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> {
continue
;
}
cachedMetrics
.
calculate
();
if
(
skipDefaultValueMetric
&&
cachedMetrics
.
haveDefault
()
&&
cachedMetrics
.
isDefaultValue
())
{
// Skip metrics in default value
skippedMetricsCounter
.
inc
();
}
else
{
prepareRequests
.
add
(
metricsDAO
.
prepareBatchUpdate
(
model
,
cachedMetrics
));
}
nextWorker
(
cachedMetrics
);
cachedMetrics
.
setLastUpdateTimestamp
(
timestamp
);
}
else
{
metrics
.
calculate
();
if
(
skipDefaultValueMetric
&&
metrics
.
haveDefault
()
&&
metrics
.
isDefaultValue
())
{
// Skip metrics in default value
skippedMetricsCounter
.
inc
();
}
else
{
prepareRequests
.
add
(
metricsDAO
.
prepareBatchInsert
(
model
,
metrics
));
}
nextWorker
(
metrics
);
metrics
.
setLastUpdateTimestamp
(
timestamp
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录