Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
fde3c60a
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 搜索 >>
提交
fde3c60a
编写于
2月 18, 2017
作者:
wu-sheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add get method to all ‘Tag’ classes. Begin to add test case.
上级
a3953405
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
183 addition
and
16 deletion
+183
-16
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
+10
-0
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegment.java
...rc/main/java/com/a/eye/skywalking/trace/TraceSegment.java
+21
-0
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java
...main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java
+2
-1
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/AbstractTag.java
...main/java/com/a/eye/skywalking/trace/tag/AbstractTag.java
+3
-1
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/BooleanTag.java
.../main/java/com/a/eye/skywalking/trace/tag/BooleanTag.java
+4
-0
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/IntTag.java
.../src/main/java/com/a/eye/skywalking/trace/tag/IntTag.java
+23
-0
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/ShortTag.java
...rc/main/java/com/a/eye/skywalking/trace/tag/ShortTag.java
+4
-0
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/StringTag.java
...c/main/java/com/a/eye/skywalking/trace/tag/StringTag.java
+4
-0
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
+26
-1
skywalking-commons/skywalking-trace/src/test/java/com/a/eye/skywalking/trace/TraceSegmentTestCase.java
...java/com/a/eye/skywalking/trace/TraceSegmentTestCase.java
+63
-0
skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/conf/Config.java
...g-api/src/main/java/com/a/eye/skywalking/conf/Config.java
+0
-13
skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/context/ContextManager.java
...ain/java/com/a/eye/skywalking/context/ContextManager.java
+19
-0
skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/queue/TraceSegmentProcessQueue.java
.../com/a/eye/skywalking/queue/TraceSegmentProcessQueue.java
+4
-0
未找到文件。
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/Span.java
浏览文件 @
fde3c60a
...
...
@@ -140,6 +140,16 @@ public class Span {
return
Collections
.
unmodifiableMap
(
tags
);
}
/**
* Get tag value of the given key.
*
* @param key the given tag key.
* @return tag value.
*/
public
Object
getTag
(
String
key
){
return
tags
.
get
(
key
);
}
/**
* This method is from opentracing-java.
* {@see https://github.com/opentracing/opentracing-java/blob/release-0.20.9/opentracing-api/src/main/java/io/opentracing/Span.java#L91}
...
...
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegment.java
浏览文件 @
fde3c60a
package
com.a.eye.skywalking.trace
;
import
java.util.Collections
;
import
java.util.LinkedList
;
import
java.util.List
;
...
...
@@ -100,4 +101,24 @@ public class TraceSegment {
public
String
getTraceSegmentId
()
{
return
traceSegmentId
;
}
public
long
getStartTime
()
{
return
startTime
;
}
public
long
getEndTime
()
{
return
endTime
;
}
public
TraceSegmentRef
getPrimaryRef
()
{
return
primaryRef
;
}
public
List
<
TraceSegmentRef
>
getRefs
()
{
return
Collections
.
unmodifiableList
(
refs
);
}
public
List
<
Span
>
getSpans
()
{
return
Collections
.
unmodifiableList
(
spans
);
}
}
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/TraceSegmentRef.java
浏览文件 @
fde3c60a
package
com.a.eye.skywalking.trace
;
/**
* {@link TraceSegmentRef} is like a pointer, which ref to another {@link TraceSegment}.
* {@link TraceSegmentRef} is like a pointer, which ref to another {@link TraceSegment},
* use {@link #spanId} point to the exact span of the ref {@link TraceSegment}.
*
* Created by wusheng on 2017/2/17.
*/
...
...
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/AbstractTag.java
浏览文件 @
fde3c60a
...
...
@@ -8,7 +8,7 @@ import com.a.eye.skywalking.trace.Span;
* which provide an easy way to
* {@link Span#setTag(String, String)} ,
* {@link Span#setTag(String, Number)} ,
* {@link Span#setTag(String, boolean)}
* {@link Span#setTag(String, boolean)}
,
*
* Created by wusheng on 2017/2/17.
*/
...
...
@@ -27,4 +27,6 @@ public abstract class AbstractTag<T> {
}
protected
abstract
void
set
(
Span
span
,
T
tagValue
);
public
abstract
T
get
(
Span
span
);
}
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/BooleanTag.java
浏览文件 @
fde3c60a
...
...
@@ -16,4 +16,8 @@ public class BooleanTag extends AbstractTag<Boolean>{
public
void
set
(
Span
span
,
Boolean
tagValue
)
{
span
.
setTag
(
key
,
tagValue
);
}
@Override
public
Boolean
get
(
Span
span
)
{
return
(
Boolean
)
span
.
getTag
(
super
.
key
);
}
}
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/IntTag.java
0 → 100644
浏览文件 @
fde3c60a
package
com.a.eye.skywalking.trace.tag
;
import
com.a.eye.skywalking.trace.Span
;
/**
* Do the same thing as {@link StringTag}, just with a {@link Integer} value.
*
* Created by wusheng on 2017/2/18.
*/
public
class
IntTag
extends
AbstractTag
<
Integer
>
{
public
IntTag
(
String
key
)
{
super
(
key
);
}
@Override
public
void
set
(
Span
span
,
Integer
tagValue
)
{
span
.
setTag
(
super
.
key
,
tagValue
);
}
@Override
public
Integer
get
(
Span
span
)
{
return
(
Integer
)
span
.
getTag
(
super
.
key
);
}
}
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/ShortTag.java
浏览文件 @
fde3c60a
...
...
@@ -16,4 +16,8 @@ public class ShortTag extends AbstractTag<Short> {
public
void
set
(
Span
span
,
Short
tagValue
)
{
span
.
setTag
(
super
.
key
,
tagValue
);
}
@Override
public
Short
get
(
Span
span
)
{
return
(
Short
)
span
.
getTag
(
super
.
key
);
}
}
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/StringTag.java
浏览文件 @
fde3c60a
...
...
@@ -17,4 +17,8 @@ public class StringTag extends AbstractTag<String> {
protected
void
set
(
Span
span
,
String
tagValue
)
{
span
.
setTag
(
key
,
tagValue
);
}
@Override
public
String
get
(
Span
span
)
{
return
(
String
)
span
.
getTag
(
super
.
key
);
}
}
skywalking-commons/skywalking-trace/src/main/java/com/a/eye/skywalking/trace/tag/Tags.java
浏览文件 @
fde3c60a
...
...
@@ -10,11 +10,21 @@ public final class Tags {
private
Tags
()
{
}
/**
* HTTP_URL records the url of the incoming request.
*/
public
static
final
StringTag
HTTP_URL
=
new
StringTag
(
"http.url"
);
/**
* HTTP_STATUS records the http status code of the response.
*/
public
static
final
IntTag
HTTP_STATUS
=
new
IntTag
(
"http.status_code"
);
/**
* SPAN_KIND hints at the relationship between spans.
* e.g. cl = client; se = server.
*/
public
static
StringTag
SPAN_KIND
=
new
StringTag
(
"span.kind"
);
public
static
final
StringTag
SPAN_KIND
=
new
StringTag
(
"span.kind"
);
/**
* COMPONENT is a low-cardinality identifier of the module, library, or package that is instrumented.
...
...
@@ -26,4 +36,19 @@ public final class Tags {
* ERROR indicates whether a Span ended in an error state.
*/
public
static
final
BooleanTag
ERROR
=
new
BooleanTag
(
"error"
);
/**
* PEER_HOST_IPV4 records IPv4 host address of the peer.
*/
public
static
final
IntTag
PEER_HOST_IPV4
=
new
IntTag
(
"peer.ipv4"
);
/**
* DB_URL records the url of the database access.
*/
public
static
final
StringTag
DB_URL
=
new
StringTag
(
"db.url"
);
/**
* DB_SQL records the sql of the database access.
*/
public
static
final
StringTag
DB_SQL
=
new
StringTag
(
"db.sql"
);
}
skywalking-commons/skywalking-trace/src/test/java/com/a/eye/skywalking/trace/TraceSegmentTestCase.java
0 → 100644
浏览文件 @
fde3c60a
package
com.a.eye.skywalking.trace
;
import
org.junit.Assert
;
import
org.junit.Test
;
/**
* Created by wusheng on 2017/2/18.
*/
public
class
TraceSegmentTestCase
{
@Test
public
void
testConstructor
(){
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
);
Assert
.
assertEquals
(
"trace_1"
,
segment
.
getTraceSegmentId
());
Assert
.
assertTrue
(
segment
.
getStartTime
()
>
0
);
}
@Test
public
void
testRef
(){
TraceSegment
segment
=
new
TraceSegment
(
"trace_3"
);
TraceSegmentRef
ref1
=
new
TraceSegmentRef
();
ref1
.
setTraceSegmentId
(
"parent_trace_0"
);
ref1
.
setSpanId
(
1
);
segment
.
ref
(
ref1
);
TraceSegmentRef
ref2
=
new
TraceSegmentRef
();
ref2
.
setTraceSegmentId
(
"parent_trace_1"
);
ref2
.
setSpanId
(
5
);
segment
.
ref
(
ref2
);
TraceSegmentRef
ref3
=
new
TraceSegmentRef
();
ref3
.
setTraceSegmentId
(
"parent_trace_1"
);
ref3
.
setSpanId
(
5
);
segment
.
ref
(
ref3
);
Assert
.
assertEquals
(
ref1
,
segment
.
getPrimaryRef
());
Assert
.
assertEquals
(
ref2
,
segment
.
getRefs
().
get
(
0
));
Assert
.
assertEquals
(
ref3
,
segment
.
getRefs
().
get
(
1
));
}
@Test
public
void
testArchiveSpan
(){
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
);
Span
span1
=
new
Span
(
1
,
"/serviceA"
);
segment
.
archive
(
span1
);
Span
span2
=
new
Span
(
2
,
"/db/sql"
);
segment
.
archive
(
span2
);
Assert
.
assertEquals
(
span1
,
segment
.
getSpans
().
get
(
0
));
Assert
.
assertEquals
(
span2
,
segment
.
getSpans
().
get
(
1
));
}
@Test
public
void
testFinish
(){
TraceSegment
segment
=
new
TraceSegment
(
"trace_1"
);
Assert
.
assertTrue
(
segment
.
getEndTime
()
==
0
);
segment
.
finish
();
Assert
.
assertTrue
(
segment
.
getEndTime
()
>
0
);
}
}
skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/conf/Config.java
浏览文件 @
fde3c60a
...
...
@@ -19,19 +19,6 @@ public class Config {
public
static
int
BUFFER_SIZE
=
1024
*
4
;
}
public
static
class
BuriedPoint
{
// 是否打印埋点信息
public
static
boolean
PRINTF
=
false
;
public
static
int
MAX_EXCEPTION_STACK_LENGTH
=
4000
;
// Business Key 最大长度
public
static
int
BUSINESSKEY_MAX_LENGTH
=
300
;
// 使用逗号分离
public
static
String
EXCLUSIVE_EXCEPTIONS
=
""
;
}
public
static
class
Logging
{
// log文件名
...
...
skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/context/ContextManager.java
浏览文件 @
fde3c60a
package
com.a.eye.skywalking.context
;
import
com.a.eye.skywalking.queue.TraceSegmentProcessQueue
;
import
com.a.eye.skywalking.trace.Span
;
import
com.a.eye.skywalking.trace.TraceSegment
;
/**
...
...
@@ -10,6 +11,8 @@ import com.a.eye.skywalking.trace.TraceSegment;
*
* What is 'ChildOf'? {@see https://github.com/opentracing/specification/blob/master/specification.md#references-between-spans}
*
* Also, {@link ContextManager} delegates to all {@link TracerContext}'s major methods: {@link
* TracerContext#createSpan(String)}, {@link TracerContext#activeSpan()}, {@link TracerContext#stopSpan(Span)}
*
* Created by wusheng on 2017/2/17.
*/
...
...
@@ -35,4 +38,20 @@ public enum ContextManager implements TracerContextListener {
}
return
segment
;
}
public
Span
createSpan
(
String
operationName
)
{
return
get
().
createSpan
(
operationName
);
}
public
Span
activeSpan
()
{
return
get
().
activeSpan
();
}
public
void
stopSpan
(
Span
span
)
{
get
().
stopSpan
(
span
);
}
public
void
stopSpan
()
{
stopSpan
(
activeSpan
());
}
}
skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/queue/TraceSegmentProcessQueue.java
浏览文件 @
fde3c60a
...
...
@@ -11,6 +11,10 @@ import com.lmax.disruptor.dsl.Disruptor;
import
com.lmax.disruptor.util.DaemonThreadFactory
;
/**
* {@link TraceSegmentProcessQueue} is a proxy of {@link Disruptor}, High Performance Inter-Thread MQ.
*
* {@see https://github.com/LMAX-Exchange/disruptor}
*
* Created by wusheng on 2017/2/17.
*/
public
enum
TraceSegmentProcessQueue
implements
TracerContextListener
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录