Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
阿信在这里
SkyWalking
提交
7e640311
S
SkyWalking
项目概览
阿信在这里
/
SkyWalking
与 Fork 源项目一致
Fork自
山不在高_有仙则灵 / SkyWalking
通知
1
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,发现更多精彩内容 >>
提交
7e640311
编写于
2月 19, 2017
作者:
wu-sheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Alter SPAN_KIND. Add test case to span.
上级
a31ff52b
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
49 addition
and
23 deletion
+49
-23
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/LogData.java
...ace/src/main/java/com/a/eye/skywalking/trace/LogData.java
+2
-1
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/Span.java
...-trace/src/main/java/com/a/eye/skywalking/trace/Span.java
+3
-16
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/Tags.java
...ce/src/main/java/com/a/eye/skywalking/trace/tag/Tags.java
+29
-4
skywalking-commons/skywalking-trace/src/test/java/com/a/eye/skywalking/trace/SpanTestCase.java
...rc/test/java/com/a/eye/skywalking/trace/SpanTestCase.java
+15
-2
未找到文件。
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/LogData.java
浏览文件 @
7e640311
package
com.a.eye.skywalking.trace
;
import
java.util.Collections
;
import
java.util.Map
;
/**
...
...
@@ -21,6 +22,6 @@ public class LogData {
}
public
Map
<
String
,
?>
getFields
()
{
return
fields
;
return
Collections
.
unmodifiableMap
(
fields
)
;
}
}
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/Span.java
浏览文件 @
7e640311
...
...
@@ -12,19 +12,8 @@ import java.util.Map;
* Span is a concept from OpenTracing Spec, also from Google Dapper Paper.
* Traces in OpenTracing are defined implicitly by their Spans.
*
* [Span A] ←←←(the root span)
* |
* +------+------+
* | |
* [Span B] [Span C] ←←←(Span C is a `ChildOf` Span A)
* | |
* [Span D] +---+-------+
* | |
* [Span E] [Span F] >>> [Span G] >>> [Span H]
* ↑
* ↑
* ↑
* (Span G `FollowsFrom` Span F)
* Know more things about span concept:
* {@see https://github.com/opentracing/specification/blob/master/specification.md#the-opentracing-data-model}
*
* Created by wusheng on 2017/2/17.
*/
...
...
@@ -192,9 +181,7 @@ public class Span {
exceptionFields
.
put
(
"message"
,
t
.
getMessage
());
exceptionFields
.
put
(
"stack"
,
ThrowableTransformer
.
INSTANCE
.
convert2String
(
t
,
4000
));
logs
.
add
(
new
LogData
(
System
.
currentTimeMillis
(),
exceptionFields
));
return
this
;
return
log
(
exceptionFields
);
}
private
enum
ThrowableTransformer
{
...
...
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/Tags.java
浏览文件 @
7e640311
...
...
@@ -29,20 +29,45 @@ public final class Tags {
public
static
final
class
SPAN_KIND
{
private
static
StringTag
SPAN_KIND_TAG
=
new
StringTag
(
"span.kind"
);
private
static
final
String
DB_KIND
=
"db"
;
private
static
final
String
RPC_KIND
=
"rpc"
;
private
static
final
String
NOSQL_KIND
=
"nosql"
;
private
static
final
String
HTTP_KIND
=
"http"
;
public
static
void
asDBAccess
(
Span
span
){
SPAN_KIND_TAG
.
set
(
span
,
"db"
);
SPAN_KIND_TAG
.
set
(
span
,
DB_KIND
);
}
public
static
void
asRPC
(
Span
span
){
SPAN_KIND_TAG
.
set
(
span
,
"rpc"
);
SPAN_KIND_TAG
.
set
(
span
,
RPC_KIND
);
}
public
static
void
asNoSQL
(
Span
span
){
SPAN_KIND_TAG
.
set
(
span
,
"nosql"
);
SPAN_KIND_TAG
.
set
(
span
,
NOSQL_KIND
);
}
public
static
void
asHttp
(
Span
span
){
SPAN_KIND_TAG
.
set
(
span
,
"http"
);
SPAN_KIND_TAG
.
set
(
span
,
HTTP_KIND
);
}
public
static
String
get
(
Span
span
){
return
SPAN_KIND_TAG
.
get
(
span
);
}
public
static
boolean
isDBAccess
(
Span
span
){
return
DB_KIND
.
equals
(
get
(
span
));
}
public
static
boolean
isRPC
(
Span
span
){
return
RPC_KIND
.
equals
(
get
(
span
));
}
public
static
boolean
isNoSQL
(
Span
span
){
return
NOSQL_KIND
.
equals
(
get
(
span
));
}
public
static
boolean
isHttp
(
Span
span
){
return
HTTP_KIND
.
equals
(
get
(
span
));
}
}
...
...
skywalking-commons/skywalking-trace/src/test/java/com/a/eye/skywalking/trace/SpanTestCase.java
浏览文件 @
7e640311
...
...
@@ -2,6 +2,7 @@ package com.a.eye.skywalking.trace;
import
com.a.eye.skywalking.trace.tag.Tags
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
org.junit.Assert
;
import
org.junit.Test
;
...
...
@@ -37,7 +38,7 @@ public class SpanTestCase {
@Test
public
void
testSetTag
()
{
Span
span1
=
new
Span
(
0
,
"serviceA"
);
Tags
.
SPAN_KIND
.
set
(
span1
,
"client"
);
Tags
.
SPAN_KIND
.
asHttp
(
span1
);
Tags
.
COMPONENT
.
set
(
span1
,
"Spring"
);
Tags
.
PEER_HOST_IPV4
.
set
(
span1
,
ipToInt
(
"127.0.0.1"
));
Tags
.
ERROR
.
set
(
span1
,
true
);
...
...
@@ -48,7 +49,7 @@ public class SpanTestCase {
Map
<
String
,
Object
>
tags
=
span1
.
getTags
();
Assert
.
assertEquals
(
8
,
tags
.
size
());
Assert
.
assert
Equals
(
"client"
,
Tags
.
SPAN_KIND
.
get
(
span1
));
Assert
.
assert
True
(
Tags
.
SPAN_KIND
.
isHttp
(
span1
));
Assert
.
assertEquals
(
"127.0.0.1"
,
intToIp
(
Tags
.
PEER_HOST_IPV4
.
get
(
span1
)));
Assert
.
assertTrue
(
Tags
.
ERROR
.
get
(
span1
));
}
...
...
@@ -82,4 +83,16 @@ public class SpanTestCase {
sb
.
append
(
String
.
valueOf
((
longIp
&
0x000000FF
)));
return
sb
.
toString
();
}
@Test
public
void
testLogException
(){
Span
span1
=
new
Span
(
0
,
"serviceA"
);
Exception
exp
=
new
Exception
(
"exception msg"
);
span1
.
log
(
exp
);
List
<
LogData
>
logs
=
span1
.
getLogs
();
Assert
.
assertEquals
(
"java.lang.Exception"
,
logs
.
get
(
0
).
getFields
().
get
(
"error.kind"
));
Assert
.
assertEquals
(
"exception msg"
,
logs
.
get
(
0
).
getFields
().
get
(
"message"
));
Assert
.
assertNotNull
(
logs
.
get
(
0
).
getFields
().
get
(
"stack"
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录