OpenTelemetry Go Auto Instrumentation

414
下载
opentelemetry-go-auto-instrumentation 是阿里巴巴开源的基于OpenTelemetry规范的Golang应用无侵入编译时注入监控方案,可以在用户完全不修改业务代码的情况下对用户的Golang应用进行监控。

规则定义


插桩一个函数

  • 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: 需要被添加的字段类型。

observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32