腾讯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 则是一种附加的上下文信息的传递机制,允许将业务相关的键值对信息与跟踪信息一起传播,以提供更丰富的上下文和语义。两者可以结合使用,以满足分布式系统中的不同需求。

明日待办

相关推荐
vipxieliang2 小时前
语言对比卡:PHP vs Go vs Java 的优缺点、适用场景与「为什么选 PHP」
java·go·php
我不会起名字3221 天前
Redis 从 0 到 1(二十七):JSON 体积是 Protobuf 的 3.7 倍?3 种序列化的 Go 基准测试
redis·go·序列化·protobuf·messagepack
我不会起名字3221 天前
Redis 从 0 到 1(二十三):一个热 key 打到 10 万 QPS——hotkey 与本地缓存的 Go 实现
redis·缓存·go·qps·hotkey
开目软件1 天前
圆满验收 | 泰胜风能 & 开目MOM,数智重构风电塔筒制造内核
重构·制造
KKKlucifer2 天前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构
Patrick_Wilson2 天前
Go 为什么需要 defer?从函数怎么收尾说起
后端·go·编程语言
Patrick_Wilson2 天前
从文本输出理解 Go 方法与接口
后端·go·编程语言
nm_zfyjt2 天前
信息流广告投放优化实践:线索成本评估模型与转化链路重构(家装建材案例)
算法·重构·内蒙古朋友圈广告服务商·内蒙古朋友圈获客
WiKiLeaks_successor2 天前
重构Time库的抽象设计
python·重构
Patrick_Wilson2 天前
读懂一个 Go JSON 处理函数:从输入数据追踪结构体、校验与错误返回
go·json·编程语言