OpenTelemetry笔记(5)-Instrumentation
发表于
更新于
概念
Instrumentation 表示对一种特定组件交互的跟踪封装,比如 MQ,HTTP,方法调用等
接口定义
1 | public class Instrumenter<REQUEST, RESPONSE> { |
其定义了 start 和 end 方法来代替手动创建 Span 的过程
- request 表示输入端的参数
- response 表示输出结果,error 表示输出结果是否有异常
构造 Instrumenter
Instrumenter 的要素比较多,其构建时使用 InstrumenterBuilder 进行构造
1 | public class Instrumenter<REQUEST, RESPONSE> { |
调用示例
1 | Instrumenter instrumenter = |
Extractor
Instrumentation 接口中存在着非常多的 Extractor,其对对象的某一些属性进行抽取,可以理解为内容过滤器,如下定义
- SpanKeyExtractor
- SpanKindExtractor
- SpanLinksExtractor
- SpanNameExtractor
- SpanStatusExtractor
- AttributesExtractor
- TimeExtractor