Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
SkyAPM
SkyAPM-php-sdk
提交
2ebeafc8
S
SkyAPM-php-sdk
项目概览
SkyAPM
/
SkyAPM-php-sdk
通知
14
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyAPM-php-sdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2ebeafc8
编写于
9月 17, 2019
作者:
H
heyanlong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
New agent
上级
5d13982c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
58 addition
and
60 deletion
+58
-60
src/agent/service/agent.go
src/agent/service/agent.go
+58
-60
未找到文件。
src/agent/service/agent.go
浏览文件 @
2ebeafc8
...
...
@@ -118,6 +118,19 @@ func (t *Agent) sub() {
go
t
.
reg
(
register
)
case
trace
:=
<-
t
.
trace
:
t
.
queue
.
PushBack
(
trace
)
if
t
.
queue
.
Len
()
>
100
{
var
segments
[]
*
upstreamSegment
for
i
:=
0
;
i
<
100
;
i
++
{
// front top 100
first
:=
t
.
queue
.
Front
()
.
Value
st
:=
format
(
fmt
.
Sprintf
(
"%v"
,
first
))
if
st
!=
nil
{
segments
=
append
(
segments
,
st
)
}
}
go
t
.
send
(
segments
)
}
}
}
}
...
...
@@ -127,78 +140,63 @@ func (t *Agent) reg(r *register) {
fmt
.
Println
(
t
.
segmentClientV5
)
}
func
(
t
*
Agent
)
send
()
{
func
(
t
*
Agent
)
send
(
segments
[]
*
upstreamSegment
)
{
var
err
error
for
{
if
t
.
queue
.
Len
()
>=
100
{
var
segments
[]
*
upstreamSegment
for
i
:=
0
;
i
<
100
;
i
++
{
// front top 100
first
:=
t
.
queue
.
Front
()
.
Value
st
:=
format
(
fmt
.
Sprintf
(
"%v"
,
first
))
if
st
!=
nil
{
segments
=
append
(
segments
,
st
)
}
// process
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
*
3
)
defer
cancel
()
ctx6
,
cancel6
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
*
3
)
defer
cancel6
()
var
stream5
agent
.
TraceSegmentService_CollectClient
var
stream6
agent2
.
TraceSegmentReportService_CollectClient
for
_
,
segment
:=
range
segments
{
log
.
Println
(
"trace => Start trace..."
)
if
segment
.
Version
==
5
{
if
stream5
==
nil
{
stream5
,
err
=
t
.
segmentClientV5
.
Collect
(
ctx
)
}
// process
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
*
3
)
ctx6
,
cancel6
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
*
3
)
var
stream5
agent
.
TraceSegmentService_CollectClient
var
stream6
agent2
.
TraceSegmentReportService_CollectClient
for
_
,
segment
:=
range
segments
{
log
.
Println
(
"trace => Start trace..."
)
if
segment
.
Version
==
5
{
if
stream5
==
nil
{
stream5
,
err
=
t
.
segmentClientV5
.
Collect
(
ctx
)
}
if
stream5
!=
nil
{
if
err
=
stream5
.
Send
(
segment
.
segment
);
err
!=
nil
{
if
err
==
io
.
EOF
{
break
}
fmt
.
Println
(
err
)
}
}
else
{
fmt
.
Println
(
"stream not open"
)
}
}
else
if
segment
.
Version
==
6
{
if
stream6
==
nil
{
stream6
,
err
=
t
.
segmentClientV6
.
Collect
(
ctx6
)
}
if
stream6
!=
nil
{
if
err
=
stream6
.
Send
(
segment
.
segment
);
err
!=
nil
{
if
err
==
io
.
EOF
{
break
}
fmt
.
Println
(
err
)
}
}
else
{
fmt
.
Println
(
"stream not open"
)
if
stream5
!=
nil
{
if
err
=
stream5
.
Send
(
segment
.
segment
);
err
!=
nil
{
if
err
==
io
.
EOF
{
break
}
fmt
.
Println
(
err
)
}
}
else
{
fmt
.
Println
(
"stream not open"
)
}
if
stream5
!=
nil
{
_
,
err
=
stream5
.
CloseAndRecv
()
if
err
!=
nil
{
log
.
Println
(
err
)
}
}
else
if
segment
.
Version
==
6
{
if
stream6
==
nil
{
stream6
,
err
=
t
.
segmentClientV6
.
Collect
(
ctx6
)
}
if
stream6
!=
nil
{
_
,
err
=
stream6
.
CloseAndRecv
()
if
err
!=
nil
{
log
.
Println
(
err
)
if
err
=
stream6
.
Send
(
segment
.
segment
);
err
!=
nil
{
if
err
==
io
.
EOF
{
break
}
fmt
.
Println
(
err
)
}
}
else
{
fmt
.
Println
(
"stream not open"
)
}
}
}
cancel
()
cancel6
()
if
stream5
!=
nil
{
_
,
err
=
stream5
.
CloseAndRecv
()
if
err
!=
nil
{
fmt
.
Println
(
err
)
}
}
if
stream6
!=
nil
{
_
,
err
=
stream6
.
CloseAndRecv
()
if
err
!=
nil
{
fmt
.
Println
(
err
)
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录