Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
81f73fb5
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,发现更多精彩内容 >>
提交
81f73fb5
编写于
8月 07, 2017
作者:
A
ascrutae
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add entryApplicationInstanceID field for service topological
上级
42e53aad
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
64 addition
and
23 deletion
+64
-23
apm-network/src/main/proto/TraceSegmentService.proto
apm-network/src/main/proto/TraceSegmentService.proto
+3
-2
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java
...org/skywalking/apm/agent/core/context/ContextCarrier.java
+20
-10
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java
...org/skywalking/apm/agent/core/context/TracingContext.java
+2
-1
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java
...skywalking/apm/agent/core/context/trace/TraceSegment.java
+4
-0
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java
...walking/apm/agent/core/context/trace/TraceSegmentRef.java
+4
-0
apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTest.java
...skywalking/apm/agent/core/context/ContextManagerTest.java
+2
-2
apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java
...org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java
+3
-2
apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java
...alking/apm/plugin/motan/MotanProviderInterceptorTest.java
+2
-1
apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java
...kywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java
+2
-1
apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java
...kywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java
+2
-1
apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java
...kywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java
+2
-1
apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/helper/SegmentRefHelper.java
...rg/skywalking/apm/agent/test/helper/SegmentRefHelper.java
+9
-0
apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/tools/SegmentRefAssert.java
...org/skywalking/apm/agent/test/tools/SegmentRefAssert.java
+5
-0
apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/test/java/org/skywalking/apm/toolkit/activation/opentracing/SkywalkingSpanActivationTest.java
.../activation/opentracing/SkywalkingSpanActivationTest.java
+4
-2
未找到文件。
apm-network/src/main/proto/TraceSegmentService.proto
浏览文件 @
81f73fb5
...
...
@@ -37,8 +37,9 @@ message TraceSegmentReference {
int32
networkAddressId
=
6
;
string
entryServiceName
=
7
;
int32
entryServiceId
=
8
;
string
parentServiceName
=
9
;
int32
parentServiceId
=
10
;
int32
entryServiceApplicationInstanceId
=
9
;
string
parentServiceName
=
10
;
int32
parentServiceId
=
11
;
}
message
SpanObject
{
...
...
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/ContextCarrier.java
浏览文件 @
81f73fb5
...
...
@@ -10,10 +10,8 @@ import org.skywalking.apm.agent.core.dictionary.DictionaryUtil;
import
org.skywalking.apm.util.StringUtil
;
/**
* {@link ContextCarrier} is a data carrier of {@link TracingContext}.
* It holds the snapshot (current state) of {@link TracingContext}.
* <p>
* Created by wusheng on 2017/2/17.
* {@link ContextCarrier} is a data carrier of {@link TracingContext}. It holds the snapshot (current state) of {@link
* TracingContext}. <p> Created by wusheng on 2017/2/17.
*/
public
class
ContextCarrier
implements
Serializable
{
/**
...
...
@@ -36,9 +34,10 @@ public class ContextCarrier implements Serializable {
*/
private
DistributedTraceId
primaryDistributedTraceId
;
private
int
entryApplicationInstanceId
=
DictionaryUtil
.
nullValue
();
/**
* Serialize this {@link ContextCarrier} to a {@link String},
* with '|' split.
* Serialize this {@link ContextCarrier} to a {@link String}, with '|' split.
*
* @return the serialization string.
*/
...
...
@@ -51,7 +50,8 @@ public class ContextCarrier implements Serializable {
this
.
getPeerHost
(),
this
.
getEntryOperationName
(),
this
.
getParentOperationName
(),
this
.
getPrimaryDistributedTraceId
());
this
.
getPrimaryDistributedTraceId
(),
this
.
getEntryApplicationInstanceId
()
+
""
);
}
else
{
return
""
;
}
...
...
@@ -64,8 +64,8 @@ public class ContextCarrier implements Serializable {
*/
public
ContextCarrier
deserialize
(
String
text
)
{
if
(
text
!=
null
)
{
String
[]
parts
=
text
.
split
(
"\\|"
,
7
);
if
(
parts
.
length
==
7
)
{
String
[]
parts
=
text
.
split
(
"\\|"
,
8
);
if
(
parts
.
length
==
8
)
{
try
{
this
.
traceSegmentId
=
new
ID
(
parts
[
0
]);
this
.
spanId
=
Integer
.
parseInt
(
parts
[
1
]);
...
...
@@ -74,6 +74,7 @@ public class ContextCarrier implements Serializable {
this
.
entryOperationName
=
parts
[
4
];
this
.
parentOperationName
=
parts
[
5
];
this
.
primaryDistributedTraceId
=
new
PropagatedTraceId
(
parts
[
6
]);
this
.
entryApplicationInstanceId
=
Integer
.
parseInt
(
parts
[
7
]);
}
catch
(
NumberFormatException
e
)
{
}
...
...
@@ -94,7 +95,8 @@ public class ContextCarrier implements Serializable {
&&
!
StringUtil
.
isEmpty
(
peerHost
)
&&
!
StringUtil
.
isEmpty
(
entryOperationName
)
&&
!
StringUtil
.
isEmpty
(
parentOperationName
)
&&
primaryDistributedTraceId
!=
null
;
&&
primaryDistributedTraceId
!=
null
&&
entryApplicationInstanceId
!=
DictionaryUtil
.
nullValue
();
}
public
String
getEntryOperationName
()
{
...
...
@@ -168,4 +170,12 @@ public class ContextCarrier implements Serializable {
public
String
getParentOperationName
()
{
return
parentOperationName
;
}
public
void
setEntryApplicationInstanceId
(
int
entryApplicationInstanceId
)
{
this
.
entryApplicationInstanceId
=
entryApplicationInstanceId
;
}
public
int
getEntryApplicationInstanceId
()
{
return
entryApplicationInstanceId
;
}
}
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/TracingContext.java
浏览文件 @
81f73fb5
...
...
@@ -84,7 +84,7 @@ public class TracingContext implements AbstractTracerContext {
carrier
.
setTraceSegmentId
(
this
.
segment
.
getTraceSegmentId
());
carrier
.
setSpanId
(
span
.
getSpanId
());
carrier
.
setApplicationInstanceId
(
segment
.
getApplicationId
());
carrier
.
setApplicationInstanceId
(
segment
.
getApplicationI
nstanceI
d
());
if
(
DictionaryUtil
.
isNull
(
exitSpan
.
getPeerId
()))
{
carrier
.
setPeerHost
(
exitSpan
.
getPeer
());
...
...
@@ -102,6 +102,7 @@ public class TracingContext implements AbstractTracerContext {
AbstractTracingSpan
firstSpan
=
first
();
operationId
=
firstSpan
.
getOperationId
();
operationName
=
firstSpan
.
getOperationName
();
carrier
.
setEntryApplicationInstanceId
(
this
.
segment
.
getApplicationInstanceId
());
}
if
(
operationId
==
DictionaryUtil
.
nullValue
())
{
carrier
.
setEntryOperationName
(
operationName
);
...
...
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegment.java
浏览文件 @
81f73fb5
...
...
@@ -191,4 +191,8 @@ public class TraceSegment {
", relatedGlobalTraces="
+
relatedGlobalTraces
+
'}'
;
}
public
int
getApplicationInstanceId
()
{
return
RemoteDownstreamConfig
.
Agent
.
APPLICATION_INSTANCE_ID
;
}
}
apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java
浏览文件 @
81f73fb5
...
...
@@ -30,6 +30,8 @@ public class TraceSegmentRef {
private
int
entryOperationId
=
DictionaryUtil
.
nullValue
();
private
int
entryApplicationInstanceId
=
DictionaryUtil
.
nullValue
();
private
String
parentOperationName
;
private
int
parentOperationId
=
DictionaryUtil
.
nullValue
();
...
...
@@ -44,6 +46,7 @@ public class TraceSegmentRef {
this
.
traceSegmentId
=
carrier
.
getTraceSegmentId
();
this
.
spanId
=
carrier
.
getSpanId
();
this
.
applicationInstanceId
=
carrier
.
getApplicationInstanceId
();
this
.
entryApplicationInstanceId
=
carrier
.
getEntryApplicationInstanceId
();
String
host
=
carrier
.
getPeerHost
();
if
(
host
.
charAt
(
0
)
==
'#'
)
{
this
.
peerHost
=
host
.
substring
(
1
);
...
...
@@ -95,6 +98,7 @@ public class TraceSegmentRef {
if
(
SegmentRefType
.
CROSS_PROCESS
.
equals
(
type
))
{
refBuilder
.
setRefType
(
RefType
.
CrossProcess
);
refBuilder
.
setParentApplicationInstanceId
(
applicationInstanceId
);
refBuilder
.
setEntryServiceApplicationInstanceId
(
entryApplicationInstanceId
);
if
(
peerId
==
DictionaryUtil
.
nullValue
())
{
refBuilder
.
setNetworkAddress
(
peerHost
);
}
else
{
...
...
apm-sniffer/apm-agent-core/src/test/java/org/skywalking/apm/agent/core/context/ContextManagerTest.java
浏览文件 @
81f73fb5
...
...
@@ -79,7 +79,7 @@ public class ContextManagerTest {
@Test
public
void
createMultipleEntrySpan
()
{
ContextCarrier
contextCarrier
=
new
ContextCarrier
().
deserialize
(
"#AQA*#AQA*4WcWe0tQNQA*|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
);
ContextCarrier
contextCarrier
=
new
ContextCarrier
().
deserialize
(
"#AQA*#AQA*4WcWe0tQNQA*|1|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
);
assertTrue
(
contextCarrier
.
isValid
());
AbstractSpan
firstEntrySpan
=
ContextManager
.
createEntrySpan
(
"/testFirstEntry"
,
contextCarrier
);
...
...
@@ -202,7 +202,7 @@ public class ContextManagerTest {
@Test
public
void
testTransform
()
throws
InvalidProtocolBufferException
{
ContextCarrier
contextCarrier
=
new
ContextCarrier
().
deserialize
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
);
ContextCarrier
contextCarrier
=
new
ContextCarrier
().
deserialize
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
);
assertTrue
(
contextCarrier
.
isValid
());
AbstractSpan
firstEntrySpan
=
ContextManager
.
createEntrySpan
(
"/testFirstEntry"
,
contextCarrier
);
...
...
apm-sniffer/apm-sdk-plugin/dubbo-plugin/src/test/java/org/skywalking/apm/plugin/dubbo/DubboInterceptorTest.java
浏览文件 @
81f73fb5
...
...
@@ -148,7 +148,7 @@ public class DubboInterceptorTest {
@Test
public
void
testProviderWithAttachment
()
throws
Throwable
{
when
(
rpcContext
.
isConsumerSide
()).
thenReturn
(
false
);
when
(
rpcContext
.
getAttachment
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
)).
thenReturn
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
);
when
(
rpcContext
.
getAttachment
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
)).
thenReturn
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
);
dubboInterceptor
.
beforeMethod
(
enhancedInstance
,
"invoke"
,
allArguments
,
argumentTypes
,
methodInterceptResult
);
dubboInterceptor
.
afterMethod
(
enhancedInstance
,
"invoke"
,
allArguments
,
argumentTypes
,
result
);
...
...
@@ -160,7 +160,7 @@ public class DubboInterceptorTest {
when
(
rpcContext
.
isConsumerSide
()).
thenReturn
(
false
);
FieldSetter
.
setStaticValue
(
BugFixActive
.
class
,
"ACTIVE"
,
true
);
testParam
.
setTraceContext
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
);
testParam
.
setTraceContext
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8 :18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
);
dubboInterceptor
.
beforeMethod
(
enhancedInstance
,
"invoke"
,
allArguments
,
argumentTypes
,
methodInterceptResult
);
dubboInterceptor
.
afterMethod
(
enhancedInstance
,
"invoke"
,
allArguments
,
argumentTypes
,
result
);
...
...
@@ -194,6 +194,7 @@ public class DubboInterceptorTest {
private
void
assertTraceSegmentRef
(
TraceSegmentRef
actual
)
{
assertThat
(
SegmentRefHelper
.
getSpanId
(
actual
),
is
(
3
));
assertThat
(
SegmentRefHelper
.
getEntryApplicationInstanceId
(
actual
),
is
(
1
));
assertThat
(
SegmentRefHelper
.
getTraceSegmentId
(
actual
).
toString
(),
is
(
"1.1.15006458883500001"
));
}
...
...
apm-sniffer/apm-sdk-plugin/motan-plugin/src/test/java/org/skywalking/apm/plugin/motan/MotanProviderInterceptorTest.java
浏览文件 @
81f73fb5
...
...
@@ -91,7 +91,7 @@ public class MotanProviderInterceptorTest {
@Test
public
void
testInvokerWithRefSegment
()
throws
Throwable
{
HashMap
attachments
=
new
HashMap
();
attachments
.
put
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
,
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
);
attachments
.
put
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
,
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
);
when
(
request
.
getAttachments
()).
thenReturn
(
attachments
);
invokeInterceptor
.
beforeMethod
(
enhancedInstance
,
"execute"
,
arguments
,
argumentType
,
null
);
...
...
@@ -137,6 +137,7 @@ public class MotanProviderInterceptorTest {
private
void
assertRefSegment
(
TraceSegmentRef
primaryRef
)
{
assertThat
(
SegmentRefHelper
.
getTraceSegmentId
(
primaryRef
).
toString
(),
is
(
"1.1.15006458883500001"
));
assertThat
(
SegmentRefHelper
.
getSpanId
(
primaryRef
),
is
(
3
));
assertThat
(
SegmentRefHelper
.
getEntryApplicationInstanceId
(
primaryRef
),
is
(
1
));
assertThat
(
SegmentRefHelper
.
getPeerHost
(
primaryRef
),
is
(
"192.168.1.8:18002"
));
}
...
...
apm-sniffer/apm-sdk-plugin/resin-3.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v3/ResinV3InterceptorTest.java
浏览文件 @
81f73fb5
...
...
@@ -90,7 +90,7 @@ public class ResinV3InterceptorTest {
@Test
public
void
testWithSerializedContextData
()
throws
Throwable
{
when
(
request
.
getHeader
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
)).
thenReturn
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
);
when
(
request
.
getHeader
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
)).
thenReturn
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
);
interceptor
.
beforeMethod
(
enhancedInstance
,
"service"
,
arguments
,
argumentType
,
methodInterceptResult
);
interceptor
.
afterMethod
(
enhancedInstance
,
"service"
,
arguments
,
argumentType
,
null
);
...
...
@@ -121,6 +121,7 @@ public class ResinV3InterceptorTest {
private
void
assertTraceSegmentRef
(
TraceSegmentRef
ref
)
{
assertThat
(
SegmentRefHelper
.
getSpanId
(
ref
),
is
(
3
));
assertThat
(
SegmentRefHelper
.
getEntryApplicationInstanceId
(
ref
),
is
(
1
));
assertThat
(
SegmentRefHelper
.
getTraceSegmentId
(
ref
).
toString
(),
is
(
"1.1.15006458883500001"
));
}
...
...
apm-sniffer/apm-sdk-plugin/resin-4.x-plugin/src/test/java/org/skywalking/apm/plugin/resin/v4/ResinV4InterceptorTest.java
浏览文件 @
81f73fb5
...
...
@@ -92,7 +92,7 @@ public class ResinV4InterceptorTest {
@Test
public
void
testWithSerializedContextData
()
throws
Throwable
{
when
(
request
.
getHeader
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
)).
thenReturn
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
);
when
(
request
.
getHeader
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
)).
thenReturn
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
);
interceptor
.
beforeMethod
(
enhancedInstance
,
"service"
,
arguments
,
argumentType
,
methodInterceptResult
);
interceptor
.
afterMethod
(
enhancedInstance
,
"service"
,
arguments
,
argumentType
,
null
);
...
...
@@ -122,6 +122,7 @@ public class ResinV4InterceptorTest {
}
private
void
assertTraceSegmentRef
(
TraceSegmentRef
ref
)
{
assertThat
(
SegmentRefHelper
.
getEntryApplicationInstanceId
(
ref
),
is
(
1
));
assertThat
(
SegmentRefHelper
.
getSpanId
(
ref
),
is
(
3
));
assertThat
(
SegmentRefHelper
.
getTraceSegmentId
(
ref
).
toString
(),
is
(
"1.1.15006458883500001"
));
}
...
...
apm-sniffer/apm-sdk-plugin/tomcat-7.x-8.x-plugin/src/test/java/org/skywalking/apm/plugin/tomcat78x/TomcatInterceptorTest.java
浏览文件 @
81f73fb5
...
...
@@ -82,7 +82,7 @@ public class TomcatInterceptorTest {
@Test
public
void
testWithSerializedContextData
()
throws
Throwable
{
when
(
request
.
getHeader
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
)).
thenReturn
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
);
when
(
request
.
getHeader
(
Config
.
Plugin
.
Propagation
.
HEADER_NAME
)).
thenReturn
(
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#192.168.1.8:18002|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
);
tomcatInterceptor
.
beforeMethod
(
enhancedInstance
,
"invoke"
,
arguments
,
argumentType
,
methodInterceptResult
);
tomcatInterceptor
.
afterMethod
(
enhancedInstance
,
"invoke"
,
arguments
,
argumentType
,
null
);
...
...
@@ -112,6 +112,7 @@ public class TomcatInterceptorTest {
}
private
void
assertTraceSegmentRef
(
TraceSegmentRef
ref
)
{
assertThat
(
SegmentRefHelper
.
getEntryApplicationInstanceId
(
ref
),
is
(
1
));
assertThat
(
SegmentRefHelper
.
getSpanId
(
ref
),
is
(
3
));
assertThat
(
SegmentRefHelper
.
getTraceSegmentId
(
ref
).
toString
(),
is
(
"1.1.15006458883500001"
));
}
...
...
apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/helper/SegmentRefHelper.java
浏览文件 @
81f73fb5
...
...
@@ -30,4 +30,13 @@ public class SegmentRefHelper {
return
-
1
;
}
public
static
int
getEntryApplicationInstanceId
(
TraceSegmentRef
ref
)
{
try
{
return
FieldGetter
.
getValue
(
ref
,
"entryApplicationInstanceId"
);
}
catch
(
Exception
e
)
{
}
return
-
1
;
}
}
apm-sniffer/apm-test-tools/src/main/java/org/skywalking/apm/agent/test/tools/SegmentRefAssert.java
浏览文件 @
81f73fb5
...
...
@@ -18,4 +18,9 @@ public class SegmentRefAssert {
public
static
void
assertPeerHost
(
TraceSegmentRef
ref
,
String
peerHost
)
{
assertThat
(
SegmentRefHelper
.
getPeerHost
(
ref
),
is
(
peerHost
));
}
public
static
void
assertEntryApplicationInstanceId
(
TraceSegmentRef
ref
,
int
entryApplicationInstanceID
)
{
assertThat
(
SegmentRefHelper
.
getEntryApplicationInstanceId
(
ref
),
is
(
entryApplicationInstanceID
));
}
}
apm-sniffer/apm-toolkit-activation/apm-toolkit-opentracing-activation/src/test/java/org/skywalking/apm/toolkit/activation/opentracing/SkywalkingSpanActivationTest.java
浏览文件 @
81f73fb5
...
...
@@ -17,6 +17,7 @@ import org.skywalking.apm.agent.core.context.trace.TraceSegment;
import
org.skywalking.apm.agent.core.context.trace.TraceSegmentRef
;
import
org.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance
;
import
org.skywalking.apm.agent.test.helper.SegmentHelper
;
import
org.skywalking.apm.agent.test.helper.SegmentRefHelper
;
import
org.skywalking.apm.agent.test.tools.AgentServiceRule
;
import
org.skywalking.apm.agent.test.tools.SegmentStorage
;
import
org.skywalking.apm.agent.test.tools.SegmentStoragePoint
;
...
...
@@ -37,6 +38,7 @@ import static org.junit.Assert.assertNull;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
skywalking
.
apm
.
agent
.
test
.
tools
.
SegmentRefAssert
.
assertPeerHost
;
import
static
org
.
skywalking
.
apm
.
agent
.
test
.
tools
.
SegmentRefAssert
.
assertSegmentId
;
import
static
org
.
skywalking
.
apm
.
agent
.
test
.
tools
.
SegmentRefAssert
.
assertEntryApplicationInstanceId
;
import
static
org
.
skywalking
.
apm
.
agent
.
test
.
tools
.
SegmentRefAssert
.
assertSpanId
;
import
static
org
.
skywalking
.
apm
.
agent
.
test
.
tools
.
SpanAssert
.
assertComponent
;
import
static
org
.
skywalking
.
apm
.
agent
.
test
.
tools
.
SpanAssert
.
assertLogSize
;
...
...
@@ -181,7 +183,7 @@ public class SkywalkingSpanActivationTest {
.
withTag
(
Tags
.
PEER_HOST_IPV4
.
getKey
(),
"127.0.0.1"
).
withTag
(
Tags
.
PEER_PORT
.
getKey
(),
8080
);
startSpan
();
extractInterceptor
.
afterMethod
(
enhancedInstance
,
"extract"
,
new
Object
[]
{
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*"
},
new
Class
[]
{
String
.
class
},
null
);
new
Object
[]
{
"#AQA*#AQA*4WcWe0tQNQA*|3|1|#127.0.0.1:8080|#/portal/|#/testEntrySpan|#AQA*#AQA*Et0We0tQNQA*
|1
"
},
new
Class
[]
{
String
.
class
},
null
);
stopSpan
();
TraceSegment
tracingSegment
=
assertTraceSemgnets
();
...
...
@@ -190,11 +192,11 @@ public class SkywalkingSpanActivationTest {
TraceSegmentRef
ref
=
tracingSegment
.
getRefs
().
get
(
0
);
assertSegmentId
(
ref
,
"1.1.15006458883500001"
);
assertSpanId
(
ref
,
3
);
assertEntryApplicationInstanceId
(
ref
,
1
);
assertPeerHost
(
ref
,
"127.0.0.1:8080"
);
assertThat
(
spans
.
size
(),
is
(
1
));
assertSpanCommonsAttribute
(
spans
.
get
(
0
));
}
@Test
public
void
testExtractWithInValidateContext
()
throws
Throwable
{
spanBuilder
.
withTag
(
Tags
.
SPAN_KIND
.
getKey
(),
Tags
.
SPAN_KIND_CLIENT
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录