Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
a23538df
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 搜索 >>
提交
a23538df
编写于
2月 23, 2017
作者:
wu-sheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add a new field, applicationCode, in TraceSegment.
上级
3c44572d
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
35 addition
and
14 deletion
+35
-14
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegment.java
...rc/main/java/com/a/eye/skywalking/trace/TraceSegment.java
+19
-4
skywalking-commons/skywalking-trace/src/main/proto/trace.proto
...lking-commons/skywalking-trace/src/main/proto/trace.proto
+4
-3
skywalking-commons/skywalking-trace/src/test/java/com/a/eye/skywalking/trace/SpanTestCase.java
...rc/test/java/com/a/eye/skywalking/trace/SpanTestCase.java
+1
-1
skywalking-commons/skywalking-trace/src/test/java/com/a/eye/skywalking/trace/TraceSegmentTestCase.java
...java/com/a/eye/skywalking/trace/TraceSegmentTestCase.java
+6
-5
skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java
.../java/com/a/eye/skywalking/api/context/TracerContext.java
+5
-1
未找到文件。
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegment.java
浏览文件 @
a23538df
...
...
@@ -55,14 +55,23 @@ public class TraceSegment implements ISerializable<SegmentMessage> {
*/
private
List
<
Span
>
spans
;
/**
* The <code>applicationCode</code> represents a name of current application/JVM and indicates which is business
* role in the cluster.
*
* e.g. account_app, billing_app
*/
private
String
applicationCode
;
/**
* Create a trace segment, by given segmentId.
* This segmentId is generated by TraceSegmentRef, AKA, from tracer/agent module.
*
* @param segmentId {@link #traceSegmentId}
*/
public
TraceSegment
(
String
segmentId
)
{
public
TraceSegment
(
String
segmentId
,
String
applicationCode
)
{
this
.
traceSegmentId
=
segmentId
;
this
.
applicationCode
=
applicationCode
;
this
.
startTime
=
System
.
currentTimeMillis
();
this
.
spans
=
new
LinkedList
<
Span
>();
}
...
...
@@ -72,7 +81,7 @@ public class TraceSegment implements ISerializable<SegmentMessage> {
*
* @param message from another {@link TraceSegment#serialize()}
*/
public
TraceSegment
(
SegmentMessage
message
){
public
TraceSegment
(
SegmentMessage
message
)
{
deserialize
(
message
);
}
...
...
@@ -138,6 +147,10 @@ public class TraceSegment implements ISerializable<SegmentMessage> {
return
Collections
.
unmodifiableList
(
spans
);
}
public
String
getApplicationCode
()
{
return
applicationCode
;
}
@Override
public
String
toString
()
{
return
"TraceSegment{"
+
...
...
@@ -154,6 +167,7 @@ public class TraceSegment implements ISerializable<SegmentMessage> {
segmentBuilder
.
setTraceSegmentId
(
traceSegmentId
);
segmentBuilder
.
setStartTime
(
startTime
);
segmentBuilder
.
setEndTime
(
endTime
);
segmentBuilder
.
setApplicationCode
(
applicationCode
);
segmentBuilder
.
setPrimaryRef
(
primaryRef
.
serialize
());
for
(
TraceSegmentRef
ref
:
refs
)
{
segmentBuilder
.
addRefs
(
ref
.
serialize
());
...
...
@@ -169,9 +183,10 @@ public class TraceSegment implements ISerializable<SegmentMessage> {
traceSegmentId
=
message
.
getTraceSegmentId
();
startTime
=
message
.
getStartTime
();
endTime
=
message
.
getEndTime
();
applicationCode
=
message
.
getApplicationCode
();
(
primaryRef
=
new
TraceSegmentRef
()).
deserialize
(
message
.
getPrimaryRef
());
List
<
SegmentRefMessage
>
refsList
=
message
.
getRefsList
();
if
(
refsList
!=
null
)
{
if
(
refsList
!=
null
)
{
this
.
refs
=
new
LinkedList
<
TraceSegmentRef
>();
for
(
SegmentRefMessage
refMessage
:
refsList
)
{
TraceSegmentRef
ref
=
new
TraceSegmentRef
();
...
...
@@ -181,7 +196,7 @@ public class TraceSegment implements ISerializable<SegmentMessage> {
}
List
<
SpanMessage
>
spansList
=
message
.
getSpansList
();
if
(
spansList
!=
null
)
{
if
(
spansList
!=
null
)
{
this
.
spans
=
new
LinkedList
<
Span
>();
for
(
SpanMessage
spanMessage
:
spansList
)
{
spans
.
add
(
new
Span
(
spanMessage
));
...
...
skywalking-commons/skywalking-trace/src/main/proto/trace.proto
浏览文件 @
a23538df
...
...
@@ -7,9 +7,10 @@ message SegmentMessage {
string
traceSegmentId
=
1
;
int64
startTime
=
2
;
int64
endTime
=
3
;
SegmentRefMessage
primaryRef
=
4
;
repeated
SegmentRefMessage
refs
=
5
;
repeated
SpanMessage
spans
=
6
;
string
applicationCode
=
4
;
SegmentRefMessage
primaryRef
=
5
;
repeated
SegmentRefMessage
refs
=
6
;
repeated
SpanMessage
spans
=
7
;
}
message
SegmentRefMessage
{
...
...
skywalking-commons/skywalking-trace/src/test/java/com/a/eye/skywalking/trace/SpanTestCase.java
浏览文件 @
a23538df
...
...
@@ -25,7 +25,7 @@ public class SpanTestCase {
@Test
public
void
testFinish
()
{
TraceSegment
owner
=
new
TraceSegment
(
"trace_1"
);
TraceSegment
owner
=
new
TraceSegment
(
"trace_1"
,
"billing_app"
);
Span
span1
=
new
Span
(
0
,
"serviceA"
);
...
...
skywalking-commons/skywalking-trace/src/test/java/com/a/eye/skywalking/trace/TraceSegmentTestCase.java
浏览文件 @
a23538df
...
...
@@ -10,15 +10,16 @@ import org.junit.Test;
public
class
TraceSegmentTestCase
{
@Test
public
void
testConstructor
()
{
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
);
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
,
"billing_app"
);
Assert
.
assertEquals
(
"trace_1"
,
segment
.
getTraceSegmentId
());
Assert
.
assertTrue
(
segment
.
getStartTime
()
>
0
);
Assert
.
assertEquals
(
"billing_app"
,
segment
.
getApplicationCode
());
}
@Test
public
void
testRef
()
{
TraceSegment
segment
=
new
TraceSegment
(
"trace_3"
);
TraceSegment
segment
=
new
TraceSegment
(
"trace_3"
,
"billing_app"
);
TraceSegmentRef
ref1
=
new
TraceSegmentRef
();
ref1
.
setTraceSegmentId
(
"parent_trace_0"
);
...
...
@@ -45,7 +46,7 @@ public class TraceSegmentTestCase {
@Test
public
void
testArchiveSpan
()
{
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
);
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
,
"billing_app"
);
Span
span1
=
new
Span
(
1
,
"/serviceA"
);
segment
.
archive
(
span1
);
...
...
@@ -58,7 +59,7 @@ public class TraceSegmentTestCase {
@Test
public
void
testFinish
()
{
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
);
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
,
"billing_app"
);
Assert
.
assertTrue
(
segment
.
getEndTime
()
==
0
);
segment
.
finish
();
...
...
@@ -67,7 +68,7 @@ public class TraceSegmentTestCase {
@Test
public
void
testSerialize
()
{
TraceSegment
segment
=
new
TraceSegment
(
"trace_3"
);
TraceSegment
segment
=
new
TraceSegment
(
"trace_3"
,
"billing_app"
);
TraceSegmentRef
ref1
=
new
TraceSegmentRef
();
ref1
.
setTraceSegmentId
(
"parent_trace_0"
);
...
...
skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/context/TracerContext.java
浏览文件 @
a23538df
package
com.a.eye.skywalking.api.context
;
import
com.a.eye.skywalking.api.conf.Config
;
import
com.a.eye.skywalking.trace.Span
;
import
com.a.eye.skywalking.trace.TraceSegment
;
import
com.a.eye.skywalking.api.util.TraceIdGenerator
;
...
...
@@ -28,8 +29,11 @@ public final class TracerContext {
private
int
spanIdGenerator
;
/**
* Create a {@link TraceSegment} and init {@link #spanIdGenerator} as 0;
*/
TracerContext
()
{
this
.
segment
=
new
TraceSegment
(
TraceIdGenerator
.
generate
());
this
.
segment
=
new
TraceSegment
(
TraceIdGenerator
.
generate
()
,
Config
.
SkyWalking
.
APPLICATION_CODE
);
this
.
spanIdGenerator
=
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录