规则定义
插桩一个函数
- ImportPath:包含要检测的函数的包的导入路径,如 net/http。
- Function:要检测的函数名称。
- ReceiverType:如 *http.Server, http.Server。
- OnEnter:被检测函数被调用前要调用的插桩函数名称,如 clientOnEnter。
- OnExit:返回时要调用的插桩函数名称,如 clientOnExit。
- Order:插桩函数的优先级,如 0、1、2。
- Path: 包含插桩代码的目录路径。路径可以是 go 模块 url 或本地文件系统路径,例如 github.com/foo/bar 或 /path/to/probe/code。
- Version: 例如 [1.0.0,1.1.0),版本范围为 [1.0.0,1.1.0),即版本大于或等于 1.0.0 且小于 1.1.0。
编译时注入新文件
- ImportPath: 包含要检测的函数的包的导入路径。
- FileName : 需要被注入的文件名。
- Path: 包含插桩代码的目录路径。
为结构体添加一个新字段
- ImportPath: 包含要检测的函数的包的导入路径。
- StructType: 需要被插桩的结构体名。
- FieldName: 需要被添加的字段名。
- FieldType: 需要被添加的字段类型。