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

今日已办

项目对齐和问题

  1. 选择使用 otelzap 自主上报 而不是采集 docker 的 container 的日志
    • 后者会产生很多冗余不必要 的日志(包括其他容器),会消耗大量 clickhouse 的存储空间,这与我们一开始追求的性能资源指标违背
    • 后者的配置(排除其他容器、解析器 - 解析 trace_id 关联 trace)比较复杂 ,前置的使用更加简单,并且可以自主添加附属属性来辅组过滤、筛选的功能,结合 signoz log 的 query 快速的定位日志,同样方便与 trace 相关联
  2. 优化了otelclient的初始化逻辑
  3. 同一个 Trace 的 不同 Span(有顺序的)存在时间重叠,没有完全衔接的问题
    • 官方示例也存在,Traefik 也存在
    • 组员反馈在本地运行 profile (不用 docker)就不会出现该问题
  4. Signoz Web 的 Service Map 无法观察到已存在的服务【待解决】

Showcase

使用 SigNoz Web 展示了 上报 Trace、Metric、Log 的效果

会议记录:

  1. 使用 backend_id 而不是 id 作为 trace 的关联
  2. 整个链路都要带上 backend_id,调研是否有让 trace 带 attribute 的方法,而不是每个 span 都手动加上
  3. 导师评论完代码

明日待办

  • 根据导师的建议和代码 comment 来修改代码
相关推荐
FungLeo6 小时前
成为全栈·Go 后端篇·三轮代码审阅之后:把可读性和证据做成工程规则
golang·go·ast·静态检查·成为全栈·代码审阅
我不会起名字3228 小时前
Redis 从 0 到 1(二十八):Redis 抖一下,重试把它打挂了——超时/重试/熔断的 Go 封装
redis·go·超时·熔断·重试
xyzzklk10 小时前
变相解决华为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·编程语言