腾讯mini项目-【指标监控服务重构】2023-08-06

今日已办

feature/client_traces_profile

  • 修改 consumer 4个阶段的 spankind
  • 将 profile 的 span 作为 root span,保持与 venus 的 follows from 的 link

feature/profile-otelclient-metric

  • 将 metric 部分使用新分支 push

go.opentelemetry.io/otel/propagation

在 OpenTelemetry 中,Baggage(行李)和 TraceContext(跟踪上下文)是两个不同的概念,用于在分布式系统中传递附加的上下文信息。它们的区别在于它们的作用和使用方式。

  1. TraceContext(跟踪上下文)Trace Context (w3.org):
    • TraceContext 是 OpenTelemetry 规范中定义的一种传播和表示跟踪信息的规范。
    • TraceContext 用于跟踪和关联分布式系统中的操作和事件,包括跟踪标识符(trace ID)和跨度标识符(span ID)等关键信息。
    • TraceContext 通过 traceparent 和 tracestate 等标头来在不同的组件之间传递和恢复跟踪信息。
    • TraceContext 旨在提供一种标准的跟踪上下文传播机制,以实现跨系统的跟踪和分析。
  2. Baggage(行李)Propagation format for distributed context: Baggage (w3.org):
    • Baggage 是 OpenTelemetry 中用于传递附加上下文信息的概念。
    • Baggage 允许开发人员在分布式系统中传递和关联与跟踪相关的键值对信息,这些信息可以是业务上的附加信息,例如用户标识、订单号等。
    • Baggage 的设计目的是将附加的上下文信息与跟踪信息一起传播,以提供更丰富的上下文和语义。
    • Baggage 通过 tracestate 标头来在跟踪上下文中传递和关联键值对信息。

总结:

TraceContext 是 OpenTelemetry 规范中定义的一种传播和表示跟踪信息的规范,它包括 trace ID 和 span ID 等关键信息,用于在分布式系统中实现跟踪和分析。而 Baggage 则是一种附加的上下文信息的传递机制,允许将业务相关的键值对信息与跟踪信息一起传播,以提供更丰富的上下文和语义。两者可以结合使用,以满足分布式系统中的不同需求。

明日待办

相关推荐
FungLeo17 分钟前
成为全栈·Go 后端篇·三轮代码审阅之后:把可读性和证据做成工程规则
golang·go·ast·静态检查·成为全栈·代码审阅
我不会起名字3223 小时前
Redis 从 0 到 1(二十八):Redis 抖一下,重试把它打挂了——超时/重试/熔断的 Go 封装
redis·go·超时·熔断·重试
xyzzklk5 小时前
变相解决华为Mate 8锁屏后无法建立入站网络连接
linux·运维·服务器·网络·华为·go·安卓
vipxieliang1 天前
语言对比卡:PHP vs Go vs Java 的优缺点、适用场景与「为什么选 PHP」
java·go·php
我不会起名字3222 天前
Redis 从 0 到 1(二十七):JSON 体积是 Protobuf 的 3.7 倍?3 种序列化的 Go 基准测试
redis·go·序列化·protobuf·messagepack
我不会起名字3222 天前
Redis 从 0 到 1(二十三):一个热 key 打到 10 万 QPS——hotkey 与本地缓存的 Go 实现
redis·缓存·go·qps·hotkey
开目软件2 天前
圆满验收 | 泰胜风能 & 开目MOM,数智重构风电塔筒制造内核
重构·制造
KKKlucifer3 天前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构
Patrick_Wilson3 天前
Go 为什么需要 defer?从函数怎么收尾说起
后端·go·编程语言
Patrick_Wilson3 天前
从文本输出理解 Go 方法与接口
后端·go·编程语言