Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
8ca0946a
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 搜索 >>
未验证
提交
8ca0946a
编写于
12月 29, 2022
作者:
wu-sheng
提交者:
GitHub
12月 29, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix `time_bucket` of `ServiceTraffic` not set correctly in `slowSql` (#10218)
上级
aff88b0d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
26 deletion
+20
-26
docs/en/changes/changes.md
docs/en/changes/changes.md
+1
-0
oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/dsl/spec/extractor/ExtractorSpec.java
...ng/oap/log/analyzer/dsl/spec/extractor/ExtractorSpec.java
+19
-26
未找到文件。
docs/en/changes/changes.md
浏览文件 @
8ca0946a
...
...
@@ -65,6 +65,7 @@
*
Remove
`time_bucket`
for both Stream and Measure kinds in BanyanDB plugin.
*
Merge
`TIME_BUCKET`
of
`Metrics`
and
`Record`
into
`StorageData`
.
*
Support no
`layer`
in the
`listServices`
query.
*
Fix
`time_bucket`
of
`ServiceTraffic`
not set correctly in
`slowSql`
of MAL.
#### UI
...
...
oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/dsl/spec/extractor/ExtractorSpec.java
浏览文件 @
8ca0946a
...
...
@@ -22,22 +22,20 @@ import com.google.common.base.Joiner;
import
com.google.common.collect.ImmutableMap
;
import
groovy.lang.Closure
;
import
groovy.lang.DelegatesTo
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
java.util.List
;
import
lombok.experimental.Delegate
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.skywalking.apm.network.common.v3.KeyStringValuePair
;
import
org.apache.skywalking.apm.network.logging.v3.LogData
;
import
org.apache.skywalking.apm.network.logging.v3.TraceContext
;
import
org.apache.skywalking.oap.log.analyzer.dsl.spec.AbstractSpec
;
import
org.apache.skywalking.oap.log.analyzer.dsl.spec.extractor.slowsql.SlowSqlSpec
;
import
org.apache.skywalking.oap.log.analyzer.dsl.spec.extractor.sampledtrace.SampledTraceSpec
;
import
org.apache.skywalking.oap.log.analyzer.dsl.spec.extractor.slowsql.SlowSqlSpec
;
import
org.apache.skywalking.oap.log.analyzer.provider.LogAnalyzerModuleConfig
;
import
org.apache.skywalking.oap.meter.analyzer.MetricConvert
;
import
org.apache.skywalking.oap.meter.analyzer.dsl.Sample
;
...
...
@@ -53,10 +51,7 @@ import org.apache.skywalking.oap.server.core.analysis.meter.MeterSystem;
import
org.apache.skywalking.oap.server.core.analysis.record.Record
;
import
org.apache.skywalking.oap.server.core.analysis.worker.RecordStreamProcessor
;
import
org.apache.skywalking.oap.server.core.config.NamingControl
;
import
org.apache.skywalking.oap.server.core.source.DatabaseSlowStatement
;
import
org.apache.skywalking.oap.server.core.source.ISource
;
import
org.apache.skywalking.oap.server.core.source.ServiceMeta
;
import
org.apache.skywalking.oap.server.core.source.SourceReceiver
;
import
org.apache.skywalking.oap.server.library.module.ModuleManager
;
...
...
@@ -96,8 +91,8 @@ public class ExtractorSpec extends AbstractSpec {
sampledTrace
=
new
SampledTraceSpec
(
moduleManager
(),
moduleConfig
());
namingControl
=
moduleManager
.
find
(
CoreModule
.
NAME
)
.
provider
()
.
getService
(
NamingControl
.
class
);
.
provider
()
.
getService
(
NamingControl
.
class
);
sourceReceiver
=
moduleManager
.
find
(
CoreModule
.
NAME
).
provider
().
getService
(
SourceReceiver
.
class
);
}
...
...
@@ -245,7 +240,7 @@ public class ExtractorSpec extends AbstractSpec {
possibleMetricsContainer
.
get
().
add
(
sampleFamily
);
}
else
{
metricConverts
.
forEach
(
it
->
it
.
toMeter
(
ImmutableMap
.<
String
,
SampleFamily
>
builder
()
ImmutableMap
.<
String
,
SampleFamily
>
builder
()
.
put
(
sample
.
getName
(),
sampleFamily
)
.
build
()
));
...
...
@@ -259,30 +254,24 @@ public class ExtractorSpec extends AbstractSpec {
}
LogData
.
Builder
log
=
BINDING
.
get
().
log
();
if
(
log
.
getLayer
()
==
null
||
log
.
getService
()
==
null
||
log
.
getTimestamp
()
<
1
)
{
||
log
.
getService
()
==
null
||
log
.
getTimestamp
()
<
1
)
{
LOGGER
.
warn
(
"SlowSql extracts failed, maybe something is not configured."
);
return
;
}
DatabaseSlowStatementBuilder
builder
=
new
DatabaseSlowStatementBuilder
(
namingControl
);
builder
.
setLayer
(
Layer
.
nameOf
(
log
.
getLayer
()));
long
timeBucket
=
TimeBucket
.
getTimeBucket
(
log
.
getTimestamp
(),
DownSampling
.
Minute
);
builder
.
setServiceName
(
log
.
getService
());
ServiceMeta
serviceMeta
=
new
ServiceMeta
();
String
serviceName
=
namingControl
.
formatServiceName
(
log
.
getService
());
serviceMeta
.
setName
(
serviceName
);
serviceMeta
.
setLayer
(
builder
.
getLayer
());
serviceMeta
.
setTimeBucket
(
builder
.
getTimeBucket
());
BINDING
.
get
().
databaseSlowStatement
(
builder
);
cl
.
setDelegate
(
slowSql
);
cl
.
call
();
if
(
builder
.
getId
()
==
null
||
builder
.
getLatency
()
<
1
||
builder
.
getStatement
()
==
null
)
{
||
builder
.
getLatency
()
<
1
||
builder
.
getStatement
()
==
null
)
{
LOGGER
.
warn
(
"SlowSql extracts failed, maybe something is not configured."
);
return
;
}
...
...
@@ -291,12 +280,14 @@ public class ExtractorSpec extends AbstractSpec {
builder
.
setTimeBucket
(
timeBucketForDB
);
builder
.
setTimestamp
(
log
.
getTimestamp
());
String
entityId
=
serviceMeta
.
getEntityId
();
builder
.
prepare
();
DatabaseSlowStatement
databaseSlowStatement
=
builder
.
toDatabaseSlowStatement
();
databaseSlowStatement
.
setDatabaseServiceId
(
entityId
);
sourceReceiver
.
receive
(
builder
.
toDatabaseSlowStatement
());
sourceReceiver
.
receive
(
databaseSlowStatement
);
ServiceMeta
serviceMeta
=
new
ServiceMeta
();
serviceMeta
.
setName
(
builder
.
getServiceName
());
serviceMeta
.
setLayer
(
builder
.
getLayer
());
long
timeBucket
=
TimeBucket
.
getTimeBucket
(
log
.
getTimestamp
(),
DownSampling
.
Minute
);
serviceMeta
.
setTimeBucket
(
timeBucket
);
sourceReceiver
.
receive
(
serviceMeta
);
}
...
...
@@ -335,8 +326,10 @@ public class ExtractorSpec extends AbstractSpec {
.
stream
()
.
filter
(
it
->
isNotBlank
(
it
.
getKey
())
&&
nonNull
(
it
.
getValue
()))
.
collect
(
Collectors
.
toMap
(
Map
.
Entry
::
getKey
,
it
->
Objects
.
toString
(
it
.
getValue
()))
Collectors
.
toMap
(
Map
.
Entry
::
getKey
,
it
->
Objects
.
toString
(
it
.
getValue
())
)
);
return
sampleBuilder
.
labels
(
ImmutableMap
.
copyOf
(
filtered
));
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录