Documentation
¶
Index ¶
Constants ¶
View Source
const ( // PluginNameLen 是协议中插件名字段的固定字节长度,不足部分用 0 填充。 PluginNameLen = 64 // DefaultSocketPath 是 ocm-agent 监听的 Unix 域套接字默认路径。 DefaultSocketPath = "/opt/ocm-agent/var/chan.sock" // MaxDataLen 是单次推送数据的最大字节数(200KB)。 MaxDataLen = 200 * 1024 )
协议常量定义。
协议消息格式如下:
+----------------------+-----------------------+-------------------+ | 插件名 (PluginNameLen)| 数据长度 (4 字节大端) | 数据 (变长) | +----------------------+-----------------------+-------------------+
Variables ¶
View Source
var SocketPath = DefaultSocketPath
SocketPath 是当前用于连接 ocm-agent 的 Unix 域套接字路径。 默认值为 DefaultSocketPath,导出该变量主要是为了在单元测试中 临时替换为临时目录下的 socket。
Functions ¶
func Push ¶
Push 将 data 通过 Unix 域套接字推送给本机 ocm-agent。
入参校验规则:
- data 不可为空,且长度不能超过 MaxDataLen;
- pluginName 不可为空,且字节长度不能超过 PluginNameLen。
返回值:成功返回 nil;任一步骤失败均返回带上下文的错误。
func PushMetricsData ¶
func PushMetricsData(pluginName string, version string, attr map[string]string, metricData *agent.MetricsData) error
PushMetricsData 将指标数据封装为 PluginData 并经 zlib 压缩后推送给 ocm-agent。
参数:
- pluginName: 插件名,会作为协议头部插件名字段,同时填入 PluginData.Name;
- version: 插件版本号,填入 PluginData.Version;
- metricData: 待上报的指标数据,将被 protobuf 序列化后放入 PluginData.Data。
返回值:成功返回 nil;序列化、压缩或网络发送任一环节失败均返回带上下文的错误。
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.