Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
SkyAPM
SkyAPM-php-sdk
提交
9120c74a
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,发现更多精彩内容 >>
提交
9120c74a
编写于
9月 18, 2019
作者:
H
heyanlong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
New agent
上级
2ebeafc8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
74 addition
and
1 deletion
+74
-1
src/agent/service/agent.go
src/agent/service/agent.go
+7
-1
src/agent/service/heartbeat.go
src/agent/service/heartbeat.go
+59
-0
src/agent/service/register.go
src/agent/service/register.go
+8
-0
未找到文件。
src/agent/service/agent.go
浏览文件 @
9120c74a
...
...
@@ -11,6 +11,7 @@ import (
"log"
"net"
"os"
"sync"
"time"
)
...
...
@@ -27,6 +28,7 @@ type Agent struct {
socket
string
socketListener
net
.
Listener
register
chan
*
register
registerCache
sync
.
Map
trace
chan
string
queue
*
list
.
List
}
...
...
@@ -52,7 +54,6 @@ func NewAgent() *Agent {
}()
go
agent
.
sub
()
go
agent
.
send
()
return
agent
}
...
...
@@ -112,8 +113,13 @@ func (t *Agent) listenSocket() {
}
func
(
t
*
Agent
)
sub
()
{
heartbeatTicker
:=
time
.
NewTicker
(
time
.
Duration
(
time
.
Second
*
40
))
defer
heartbeatTicker
.
Stop
()
for
{
select
{
case
<-
heartbeatTicker
.
C
:
go
t
.
heartbeat
()
case
register
:=
<-
t
.
register
:
go
t
.
reg
(
register
)
case
trace
:=
<-
t
.
trace
:
...
...
src/agent/service/heartbeat.go
0 → 100644
浏览文件 @
9120c74a
package
service
import
(
"agent/agent/pb/agent"
"agent/agent/pb/register2"
"context"
"fmt"
"time"
)
func
(
t
*
Agent
)
heartbeat
()
{
var
client5
agent
.
InstanceDiscoveryServiceClient
var
client6
register2
.
ServiceInstancePingClient
t
.
registerCache
.
Range
(
func
(
key
,
value
interface
{})
bool
{
fmt
.
Println
(
"heartbeat => ..."
)
bind
:=
value
.
(
registerCache
)
if
bind
.
Version
==
5
{
if
client5
==
nil
{
client5
=
agent
.
NewInstanceDiscoveryServiceClient
(
t
.
conn
)
}
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
*
3
)
defer
cancel
()
_
,
err
:=
client5
.
Heartbeat
(
ctx
,
&
agent
.
ApplicationInstanceHeartbeat
{
ApplicationInstanceId
:
bind
.
InstanceId
,
HeartbeatTime
:
time
.
Now
()
.
UnixNano
()
/
1000000
,
})
if
err
!=
nil
{
fmt
.
Println
(
"heartbeat =>"
,
err
)
}
else
{
fmt
.
Printf
(
"heartbeat => %d %d
\n
"
,
bind
.
AppId
,
bind
.
InstanceId
)
}
}
else
if
bind
.
Version
==
6
{
if
client6
==
nil
{
client6
=
register2
.
NewServiceInstancePingClient
(
t
.
conn
)
}
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
*
3
)
defer
cancel
()
_
,
err
:=
client6
.
DoPing
(
ctx
,
&
register2
.
ServiceInstancePingPkg
{
ServiceInstanceId
:
bind
.
InstanceId
,
Time
:
time
.
Now
()
.
UnixNano
()
/
1000000
,
ServiceInstanceUUID
:
bind
.
Uuid
,
})
if
err
!=
nil
{
fmt
.
Println
(
"heartbeat =>"
,
err
)
}
else
{
fmt
.
Printf
(
"heartbeat => %d %d
\n
"
,
bind
.
AppId
,
bind
.
InstanceId
)
}
}
return
true
})
}
src/agent/service/register.go
0 → 100644
浏览文件 @
9120c74a
package
service
type
registerCache
struct
{
Version
int
AppId
int32
InstanceId
int32
Uuid
string
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录