📃 docs: update doc
This commit is contained in:
parent
9b09d8476f
commit
88bb8123a3
@ -24,7 +24,7 @@ import (
|
|||||||
var mergeCmd = &cobra.Command{
|
var mergeCmd = &cobra.Command{
|
||||||
Use: "merge [files...]",
|
Use: "merge [files...]",
|
||||||
Short: "Merge multiple coherent Go coverage files into a single file.",
|
Short: "Merge multiple coherent Go coverage files into a single file.",
|
||||||
Long: `merge will merge multiple Go coverage files into a single coverage file.
|
Long: `Merge will merge multiple Go coverage files into a single coverage file.
|
||||||
merge requires that the files are 'coherent', meaning that if they both contain references to the
|
merge requires that the files are 'coherent', meaning that if they both contain references to the
|
||||||
same paths, then the contents of those source files were identical for the binary that generated
|
same paths, then the contents of those source files were identical for the binary that generated
|
||||||
each file.
|
each file.
|
||||||
|
@ -23,12 +23,6 @@ var profileCmd = &cobra.Command{
|
|||||||
Use: "profile",
|
Use: "profile",
|
||||||
Short: "Get coverage profile from service registry center",
|
Short: "Get coverage profile from service registry center",
|
||||||
Long: `Get code coverage profile for the services under test at runtime.`,
|
Long: `Get code coverage profile for the services under test at runtime.`,
|
||||||
Example: `
|
|
||||||
# Get coverage counter from default register center http://127.0.0.1:7777, the result output to stdout.
|
|
||||||
goc profile
|
|
||||||
# Get coverage counter from specified register center, the result output to specified file.
|
|
||||||
goc profile --host=http://192.168.1.1:8080 --output=./coverage.cov
|
|
||||||
`,
|
|
||||||
//Run: profile,
|
//Run: profile,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,8 +22,7 @@ import (
|
|||||||
|
|
||||||
var serverCmd = &cobra.Command{
|
var serverCmd = &cobra.Command{
|
||||||
Use: "server",
|
Use: "server",
|
||||||
Short: "start a service registry center",
|
Short: "Start a service registry center",
|
||||||
Long: "start a service registry center",
|
|
||||||
Example: "",
|
Example: "",
|
||||||
|
|
||||||
Run: serve,
|
Run: serve,
|
||||||
|
@ -16,12 +16,15 @@ package cmd
|
|||||||
import (
|
import (
|
||||||
"github.com/qiniu/goc/v2/pkg/client"
|
"github.com/qiniu/goc/v2/pkg/client"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
"github.com/spf13/pflag"
|
||||||
)
|
)
|
||||||
|
|
||||||
var listCmd = &cobra.Command{
|
var listCmd = &cobra.Command{
|
||||||
Use: "service",
|
Use: "service",
|
||||||
Short: "Lists all the registered services",
|
Short: "Deal with the registered services",
|
||||||
Long: "Lists all the registered services",
|
Long: `It can be used to list, remove the registered services.
|
||||||
|
For disconnected services, remove will delete these serivces forever,
|
||||||
|
for connected services remove will force these services register again.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -31,9 +34,15 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
listCmd.PersistentFlags().StringVar(&listHost, "host", "127.0.0.1:7777", "specify the host of the goc server")
|
|
||||||
listCmd.PersistentFlags().BoolVar(&listWide, "wide", false, "list all services with more information (such as pid)")
|
add1Flags := func(f *pflag.FlagSet) {
|
||||||
listCmd.PersistentFlags().StringSliceVar(&listIds, "id", nil, "specify the ids of the services")
|
f.StringVar(&listHost, "host", "127.0.0.1:7777", "specify the host of the goc server")
|
||||||
|
f.BoolVar(&listWide, "wide", false, "list all services with more information (such as pid)")
|
||||||
|
f.StringSliceVar(&listIds, "id", nil, "specify the ids of the services")
|
||||||
|
}
|
||||||
|
|
||||||
|
add1Flags(getServiceCmd.Flags())
|
||||||
|
add1Flags(deleteServiceCmd.Flags())
|
||||||
|
|
||||||
listCmd.AddCommand(getServiceCmd)
|
listCmd.AddCommand(getServiceCmd)
|
||||||
listCmd.AddCommand(deleteServiceCmd)
|
listCmd.AddCommand(deleteServiceCmd)
|
||||||
|
@ -49,10 +49,10 @@ websocket + jsonrpc2 有流式调用,消息边界。非常适合
|
|||||||
|
|
||||||
### 注册
|
### 注册
|
||||||
|
|
||||||
注册信息放入 websocket url 中,例如:
|
agent 首先通过以下 url 完成注册:
|
||||||
|
|
||||||
```
|
```
|
||||||
/v2/internal/ws/rpcstream?cmdline=.%2Fcmd&hostname=nuc&pid=1699804
|
GET /internal/register?cmdline=.%2Fcmd&hostname=nuc&pid=1699804
|
||||||
```
|
```
|
||||||
|
|
||||||
注册信息为:
|
注册信息为:
|
||||||
@ -61,7 +61,22 @@ websocket + jsonrpc2 有流式调用,消息边界。非常适合
|
|||||||
2. hostname
|
2. hostname
|
||||||
3. 进程 PID
|
3. 进程 PID
|
||||||
|
|
||||||
goc server 再加上 remote ip 对四个元信息生成一个唯一 hash id,作为该 agent 的 ID。
|
goc server 会生成一个自增 id (全局唯一) 和 token (全局唯一) 返回给 agent。
|
||||||
|
|
||||||
|
### websocket 连接
|
||||||
|
|
||||||
|
agent 通过以下 url 发起 websocket 连接:
|
||||||
|
|
||||||
|
```
|
||||||
|
/internal/ws/rpcstream?id=[id]&token=[token]
|
||||||
|
/internal/ws/watchstream?id=[id]&token=[token]
|
||||||
|
```
|
||||||
|
|
||||||
|
分别代表 rpc 通道和 watch 通道。
|
||||||
|
|
||||||
|
服务端会校验 id 和 token 是否存在及是否匹配。不匹配返回错误。
|
||||||
|
|
||||||
|
agent 收到错误会重新注册。
|
||||||
|
|
||||||
### 获取覆盖率
|
### 获取覆盖率
|
||||||
|
|
||||||
@ -85,4 +100,5 @@ ProfileReq: resetprofile
|
|||||||
|
|
||||||
### 异常处理
|
### 异常处理
|
||||||
|
|
||||||
goc server 端遇到 err 就关闭对应 agent 的 websocket 连接。
|
1. goc server 端遇到 err 就关闭对应 agent 的 websocket 连接。
|
||||||
|
2. goc server 会将 id 和 token 持久化,重启后,agent 再次上报时可直接校验,若成功保持 id 不变。
|
Loading…
Reference in New Issue
Block a user