为什么浏览器可观察性很难 | Hazel Weakly

主要观点:浏览器中,opentelemetry 的生命周期概念与便捷传播上下文和关联跟踪的方式不匹配,在前端系统中情况更糟,前端基于事件和异步回调,不适合 otel 的“树状”结构;React 对前端开发有双重影响,它给 opentelemetry 带来诸多难题,如无法控制根跨度生命周期等;浏览器不支持 grpc,数据丢失常见,仪器大小很重要,不能运行浏览器版的遥测收集器;浏览器需要能在未认证情况下发送遥测到端点,存在 api 认证问题。
关键信息

  • opentelemetry 在线性同步设计的调用栈中效果好,前端系统异步事件驱动不适用。
  • React 设计导致无法控制根跨度生命周期等问题。
  • 浏览器相关特性给遥测带来多方面挑战。
  • 需思考 api 认证等问题。
    重要细节
  • 技术上 otel 可处理有向无环图,但在大多数 sdk 中使用链接很麻烦。
  • React 鼓励节点寿命尽可能长,其生命周期钩子无法同步到组件。
  • 浏览器不支持 grpc 及相关数据问题。
  • 无法在浏览器运行遥测收集器及影响。
  • baggage 用于在服务间共享上下文但设置困难。
阅读 14
0 条评论