GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing lework.github.io — 学习周报「2024」10月
2024-10-07~13OpenTelemetry 采样分布式追踪可以为用户描述一次请求所经历的过程,形成一张调用时序图,我们称这次调用过程调用链路为 Trace。而 Trace 由每个服务或者说服务处理一个请求的过程组成,这些过程称为 Span。 下面是减少 Trace 数量的现成手段 头部采样当请求抵达整个链路中第一个服务时,这个服务为这次请求生成一个独一无二的 Trace ID,以及其他的标记位,这些信息会贯穿整次请求。标记位中包含采样标记位,由服务依照一定的概率或者规则生成,代表要采样或者不采样。Trace ID 、标记位和其他上下文信息通过 RPC Header、Metadata 等方式传播给后续的服务,后续服务遵循第一个服务的采样决定,也随之采样上报或不上报。 特点:
问题:
尾部采样为了解决这些问题,我们也可以把所有数据都上报,交由一个中间平台暂存、清洗,再决定保留还是丢弃整条 Trace。如下图所示,当请求抵达时,每个服务都将他自身产生的 Span 发送至 OpenTelemetry Collector,Collector 上的尾部采样组件在接收到第一个 Span 后,会等待一段时间(如 5 秒)以继续收集来自其他服务的、具有相同 Trace ID 的 Span。等待结束后,大量 Span 按照 Trace ID 归类,然后对同一个 Trace ID 下的 Span 进行遍历,以检查其中是否包含错误信息、累计耗时是否超过阈值等,有依据地筛选高价值的 Trace 进入后续的流程。 特点:
|
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |