主要观点:浏览器中,opentelemetry 的生命周期概念与便捷传播上下文和关联跟踪的方式不匹配,在前端系统中情况更糟,前端基于事件和异步回调,不适合 otel 的“树状”结构;React 对前端开发有双重影响,它给 opentelemetry 带来诸多难题,如无法控制根跨度生命周期等;浏览器不支持 grpc,数据丢失常见,仪器大小很重要,不能运行浏览器版的遥测收集器;浏览器需要能在未认证情况下发送遥测到端点,存在 api 认证问题。
关键信息:
- opentelemetry 在线性同步设计的调用栈中效果好,前端系统异步事件驱动不适用。
- React 设计导致无法控制根跨度生命周期等问题。
- 浏览器相关特性给遥测带来多方面挑战。
- 需思考 api 认证等问题。
重要细节: - 技术上 otel 可处理有向无环图,但在大多数 sdk 中使用链接很麻烦。
- React 鼓励节点寿命尽可能长,其生命周期钩子无法同步到组件。
- 浏览器不支持 grpc 及相关数据问题。
- 无法在浏览器运行遥测收集器及影响。
- baggage 用于在服务间共享上下文但设置困难。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。