Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
润土的好友猹
SkyWalking
提交
064595eb
S
SkyWalking
项目概览
润土的好友猹
/
SkyWalking
与 Fork 源项目一致
Fork自
apache / SkyWalking
通知
9
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,体验更适合开发者的 AI 搜索 >>
提交
064595eb
编写于
10月 17, 2018
作者:
彭
彭勇升 pengys
提交者:
wu-sheng
10月 17, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed the segment parse bug. Each use requires the creation of a new instance. (#1784)
上级
4e99e896
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
43 addition
and
23 deletion
+43
-23
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
...p/server/receiver/trace/provider/TraceModuleProvider.java
+5
-5
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v5/grpc/TraceSegmentServiceHandler.java
.../provider/handler/v5/grpc/TraceSegmentServiceHandler.java
+4
-4
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v5/rest/TraceSegmentServletHandler.java
.../provider/handler/v5/rest/TraceSegmentServletHandler.java
+4
-4
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/SegmentParse.java
...p/server/receiver/trace/provider/parser/SegmentParse.java
+26
-6
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/segment/SegmentSpanListener.java
...provider/parser/listener/segment/SegmentSpanListener.java
+1
-1
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SegmentStandardizationWorker.java
.../parser/standardization/SegmentStandardizationWorker.java
+3
-3
未找到文件。
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
浏览文件 @
064595eb
...
...
@@ -67,12 +67,12 @@ public class TraceModuleProvider extends ModuleProvider {
GRPCHandlerRegister
grpcHandlerRegister
=
getManager
().
find
(
CoreModule
.
NAME
).
getService
(
GRPCHandlerRegister
.
class
);
JettyHandlerRegister
jettyHandlerRegister
=
getManager
().
find
(
CoreModule
.
NAME
).
getService
(
JettyHandlerRegister
.
class
);
try
{
SegmentParse
segmentParse
=
new
SegmentParse
(
getManager
(),
listenerManager
);
grpcHandlerRegister
.
addHandler
(
new
TraceSegmentServiceHandler
(
segmentP
arse
));
jettyHandlerRegister
.
addHandler
(
new
TraceSegmentServletHandler
(
segmentP
arse
));
SegmentParse
.
Producer
segmentProducer
=
new
SegmentParse
.
Producer
(
getManager
(),
listenerManager
);
grpcHandlerRegister
.
addHandler
(
new
TraceSegmentServiceHandler
(
segmentP
roducer
));
jettyHandlerRegister
.
addHandler
(
new
TraceSegmentServletHandler
(
segmentP
roducer
));
SegmentStandardizationWorker
standardizationWorker
=
new
SegmentStandardizationWorker
(
segmentP
arse
,
moduleConfig
.
getBufferPath
(),
moduleConfig
.
getBufferOffsetMaxFileSize
(),
moduleConfig
.
getBufferDataMaxFileSize
(),
moduleConfig
.
isBufferFileCleanWhenRestart
());
segmentP
arse
.
setStandardizationWorker
(
standardizationWorker
);
SegmentStandardizationWorker
standardizationWorker
=
new
SegmentStandardizationWorker
(
segmentP
roducer
,
moduleConfig
.
getBufferPath
(),
moduleConfig
.
getBufferOffsetMaxFileSize
(),
moduleConfig
.
getBufferDataMaxFileSize
(),
moduleConfig
.
isBufferFileCleanWhenRestart
());
segmentP
roducer
.
setStandardizationWorker
(
standardizationWorker
);
}
catch
(
IOException
e
)
{
throw
new
ModuleStartException
(
e
.
getMessage
(),
e
);
}
...
...
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v5/grpc/TraceSegmentServiceHandler.java
浏览文件 @
064595eb
...
...
@@ -32,11 +32,11 @@ public class TraceSegmentServiceHandler extends TraceSegmentServiceGrpc.TraceSeg
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
TraceSegmentServiceHandler
.
class
);
private
final
Boolean
debug
;
private
final
SegmentParse
segmentParse
;
private
final
SegmentParse
.
Producer
segmentProducer
;
public
TraceSegmentServiceHandler
(
SegmentParse
segmentParse
)
{
public
TraceSegmentServiceHandler
(
SegmentParse
.
Producer
segmentProducer
)
{
this
.
debug
=
System
.
getProperty
(
"debug"
)
!=
null
;
this
.
segmentP
arse
=
segmentParse
;
this
.
segmentP
roducer
=
segmentProducer
;
}
@Override
public
StreamObserver
<
UpstreamSegment
>
collect
(
StreamObserver
<
Downstream
>
responseObserver
)
{
...
...
@@ -46,7 +46,7 @@ public class TraceSegmentServiceHandler extends TraceSegmentServiceGrpc.TraceSeg
logger
.
debug
(
"receive segment"
);
}
segmentP
arse
.
parse
(
segment
,
SegmentParse
.
Source
.
Agent
);
segmentP
roducer
.
send
(
segment
,
SegmentParse
.
Source
.
Agent
);
if
(
debug
)
{
long
count
=
SegmentCounter
.
INSTANCE
.
incrementAndGet
();
...
...
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/handler/v5/rest/TraceSegmentServletHandler.java
浏览文件 @
064595eb
...
...
@@ -34,10 +34,10 @@ public class TraceSegmentServletHandler extends JettyJsonHandler {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
TraceSegmentServletHandler
.
class
);
private
final
SegmentParse
segmentParse
;
private
final
SegmentParse
.
Producer
segmentProducer
;
public
TraceSegmentServletHandler
(
SegmentParse
segmentParse
)
{
this
.
segmentP
arse
=
segmentParse
;
public
TraceSegmentServletHandler
(
SegmentParse
.
Producer
segmentProducer
)
{
this
.
segmentP
roducer
=
segmentProducer
;
}
@Override
public
String
pathSpec
()
{
...
...
@@ -71,7 +71,7 @@ public class TraceSegmentServletHandler extends JettyJsonHandler {
reader
.
beginArray
();
while
(
reader
.
hasNext
())
{
TraceSegment
traceSegment
=
jsonReader
.
read
(
reader
);
segmentP
arse
.
parse
(
traceSegment
.
getUpstreamSegment
(),
SegmentParse
.
Source
.
Agent
);
segmentP
roducer
.
send
(
traceSegment
.
getUpstreamSegment
(),
SegmentParse
.
Source
.
Agent
);
}
reader
.
endArray
();
}
...
...
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/SegmentParse.java
浏览文件 @
064595eb
...
...
@@ -33,7 +33,7 @@ import org.slf4j.*;
/**
* @author peng-yongsheng
*/
public
class
SegmentParse
implements
DataStreamReader
.
CallBack
<
UpstreamSegment
>
{
public
class
SegmentParse
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SegmentParse
.
class
);
...
...
@@ -43,7 +43,7 @@ public class SegmentParse implements DataStreamReader.CallBack<UpstreamSegment>
private
final
SegmentCoreInfo
segmentCoreInfo
;
@Setter
private
SegmentStandardizationWorker
standardizationWorker
;
p
ublic
SegmentParse
(
ModuleManager
moduleManager
,
SegmentParserListenerManager
listenerManager
)
{
p
rivate
SegmentParse
(
ModuleManager
moduleManager
,
SegmentParserListenerManager
listenerManager
)
{
this
.
moduleManager
=
moduleManager
;
this
.
listenerManager
=
listenerManager
;
this
.
spanListeners
=
new
LinkedList
<>();
...
...
@@ -52,10 +52,6 @@ public class SegmentParse implements DataStreamReader.CallBack<UpstreamSegment>
this
.
segmentCoreInfo
.
setEndTime
(
Long
.
MIN_VALUE
);
}
@Override
public
boolean
call
(
UpstreamSegment
segment
)
{
return
parse
(
segment
,
Source
.
Buffer
);
}
public
boolean
parse
(
UpstreamSegment
segment
,
Source
source
)
{
createSpanListeners
();
...
...
@@ -220,4 +216,28 @@ public class SegmentParse implements DataStreamReader.CallBack<UpstreamSegment>
public
enum
Source
{
Agent
,
Buffer
}
public
static
class
Producer
implements
DataStreamReader
.
CallBack
<
UpstreamSegment
>
{
@Setter
private
SegmentStandardizationWorker
standardizationWorker
;
private
final
ModuleManager
moduleManager
;
private
final
SegmentParserListenerManager
listenerManager
;
public
Producer
(
ModuleManager
moduleManager
,
SegmentParserListenerManager
listenerManager
)
{
this
.
moduleManager
=
moduleManager
;
this
.
listenerManager
=
listenerManager
;
}
public
void
send
(
UpstreamSegment
segment
,
Source
source
)
{
SegmentParse
segmentParse
=
new
SegmentParse
(
moduleManager
,
listenerManager
);
segmentParse
.
setStandardizationWorker
(
standardizationWorker
);
segmentParse
.
parse
(
segment
,
source
);
}
@Override
public
boolean
call
(
UpstreamSegment
segment
)
{
SegmentParse
segmentParse
=
new
SegmentParse
(
moduleManager
,
listenerManager
);
segmentParse
.
setStandardizationWorker
(
standardizationWorker
);
return
segmentParse
.
parse
(
segment
,
Source
.
Buffer
);
}
}
}
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/segment/SegmentSpanListener.java
浏览文件 @
064595eb
...
...
@@ -84,7 +84,7 @@ public class SegmentSpanListener implements FirstSpanListener, EntrySpanListener
@Override
public
void
build
()
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
debug
(
"segment
duration listener build"
);
logger
.
debug
(
"segment
listener build, segment id: {}"
,
segment
.
getSegmentId
()
);
}
if
(
entryEndpointId
==
0
)
{
...
...
oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SegmentStandardizationWorker.java
浏览文件 @
064595eb
...
...
@@ -19,7 +19,7 @@
package
org.apache.skywalking.oap.server.receiver.trace.provider.parser.standardization
;
import
java.io.IOException
;
import
java.util.
*
;
import
java.util.
List
;
import
org.apache.skywalking.apm.commons.datacarrier.DataCarrier
;
import
org.apache.skywalking.apm.commons.datacarrier.consumer.IConsumer
;
import
org.apache.skywalking.apm.network.language.agent.UpstreamSegment
;
...
...
@@ -37,7 +37,7 @@ public class SegmentStandardizationWorker extends AbstractWorker<SegmentStandard
private
final
DataCarrier
<
SegmentStandardization
>
dataCarrier
;
public
SegmentStandardizationWorker
(
SegmentParse
segmentParse
,
String
path
,
public
SegmentStandardizationWorker
(
SegmentParse
.
Producer
segmentParseCreator
,
String
path
,
int
offsetFileMaxSize
,
int
dataFileMaxSize
,
boolean
cleanWhenRestart
)
throws
IOException
{
super
(
Integer
.
MAX_VALUE
);
...
...
@@ -46,7 +46,7 @@ public class SegmentStandardizationWorker extends AbstractWorker<SegmentStandard
builder
.
dataFileMaxSize
(
dataFileMaxSize
);
builder
.
offsetFileMaxSize
(
offsetFileMaxSize
);
builder
.
parser
(
UpstreamSegment
.
parser
());
builder
.
callBack
(
segmentParse
);
builder
.
callBack
(
segmentParse
Creator
);
BufferStream
<
UpstreamSegment
>
stream
=
builder
.
build
();
stream
.
initialize
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录