Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
skywalking-python
提交
9a419fd8
S
skywalking-python
项目概览
apache
/
skywalking-python
通知
61
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skywalking-python
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
9a419fd8
编写于
7月 02, 2020
作者:
K
kezhenxu94
提交者:
GitHub
7月 02, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Core][Defect] Validate carrier before using it (#29)
上级
26879f83
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
20 addition
and
7 deletion
+20
-7
skywalking/trace/carrier/__init__.py
skywalking/trace/carrier/__init__.py
+16
-3
skywalking/trace/context/__init__.py
skywalking/trace/context/__init__.py
+1
-1
skywalking/trace/segment/__init__.py
skywalking/trace/segment/__init__.py
+1
-1
skywalking/trace/span/__init__.py
skywalking/trace/span/__init__.py
+2
-2
未找到文件。
skywalking/trace/carrier/__init__.py
浏览文件 @
9a419fd8
...
...
@@ -47,7 +47,7 @@ class Carrier(CarrierItem):
super
(
Carrier
,
self
).
__init__
(
key
=
'sw8'
)
self
.
trace_id
=
''
# type: str
self
.
segment_id
=
''
# type: str
self
.
span_id
=
-
1
# type: int
self
.
span_id
=
''
# type: str
self
.
service
=
''
# type: str
self
.
service_instance
=
''
# type: str
self
.
endpoint
=
''
# type: str
...
...
@@ -61,7 +61,7 @@ class Carrier(CarrierItem):
'1'
,
b64encode
(
self
.
trace_id
),
b64encode
(
self
.
segment_id
),
s
tr
(
self
.
span_id
)
,
s
elf
.
span_id
,
b64encode
(
self
.
service
),
b64encode
(
self
.
service_instance
),
b64encode
(
self
.
endpoint
),
...
...
@@ -74,14 +74,27 @@ class Carrier(CarrierItem):
if
not
val
:
return
parts
=
val
.
split
(
'-'
)
if
len
(
parts
)
!=
8
:
return
self
.
trace_id
=
b64decode
(
parts
[
1
])
self
.
segment_id
=
b64decode
(
parts
[
2
])
self
.
span_id
=
int
(
parts
[
3
])
self
.
span_id
=
parts
[
3
]
self
.
service
=
b64decode
(
parts
[
4
])
self
.
service_instance
=
b64decode
(
parts
[
5
])
self
.
endpoint
=
b64decode
(
parts
[
6
])
self
.
client_address
=
b64decode
(
parts
[
7
])
@
property
def
is_valid
(
self
):
# type: () -> bool
return
len
(
self
.
trace_id
)
>
0
and
\
len
(
self
.
segment_id
)
>
0
and
\
len
(
self
.
service
)
>
0
and
\
len
(
self
.
service_instance
)
>
0
and
\
len
(
self
.
endpoint
)
>
0
and
\
len
(
self
.
client_address
)
>
0
and
\
self
.
span_id
.
isnumeric
()
def
__iter__
(
self
):
self
.
__iter_index
=
0
return
self
...
...
skywalking/trace/context/__init__.py
浏览文件 @
9a419fd8
...
...
@@ -55,7 +55,7 @@ class SpanContext(object):
)
span
.
op
=
op
if
carrier
is
not
None
:
if
carrier
is
not
None
and
carrier
.
is_valid
:
span
.
extract
(
carrier
=
carrier
)
return
span
...
...
skywalking/trace/segment/__init__.py
浏览文件 @
9a419fd8
...
...
@@ -31,7 +31,7 @@ class SegmentRef(object):
self
.
ref_type
=
'CrossProcess'
# type: str
self
.
trace_id
=
carrier
.
trace_id
# type: str
self
.
segment_id
=
carrier
.
segment_id
# type: str
self
.
span_id
=
carrier
.
span_id
# type: int
self
.
span_id
=
int
(
carrier
.
span_id
)
# type: int
self
.
service
=
carrier
.
service
# type: str
self
.
service_instance
=
carrier
.
service_instance
# type: str
self
.
endpoint
=
carrier
.
endpoint
# type: str
...
...
skywalking/trace/span/__init__.py
浏览文件 @
9a419fd8
...
...
@@ -165,7 +165,7 @@ class EntrySpan(StackedSpan):
def
extract
(
self
,
carrier
:
'Carrier'
)
->
'Span'
:
Span
.
extract
(
self
,
carrier
)
if
carrier
is
None
:
if
carrier
is
None
or
not
carrier
.
is_valid
:
return
self
ref
=
SegmentRef
(
carrier
=
carrier
)
...
...
@@ -203,7 +203,7 @@ class ExitSpan(StackedSpan):
def
inject
(
self
,
carrier
:
'Carrier'
)
->
'Span'
:
carrier
.
trace_id
=
str
(
self
.
context
.
segment
.
related_traces
[
0
])
carrier
.
segment_id
=
str
(
self
.
context
.
segment
.
segment_id
)
carrier
.
span_id
=
s
elf
.
sid
carrier
.
span_id
=
s
tr
(
self
.
sid
)
carrier
.
service
=
config
.
service_name
carrier
.
service_instance
=
config
.
service_instance
carrier
.
endpoint
=
self
.
op
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录