可观测链路 OpenTelemetry 版的数据存储在SLS里面,如果您需要自定义检索数据,可以根据数据格式写SQL进行数据检索。
可观测链路 OpenTelemetry 版数据在SLS里面的Project名称格式为:
proj-xtrace-***-{regionId}
例如:
proj-xtrace-6dcbb77ef4ba6ef5466b5debf9e2f951-cn-beijing
链路详情(Span的格式)
对应的LogStore名称格式为:
logstore-xtrace-{userId}-{regionId}
例如:
logstore-xtrace-123456789-cn-beijing
字段名 | 字段说明 |
traceId | 调用链ID,链路请求的唯一标识。例如:fec891bb8f81e7fb。 |
timestamp | Span的产生时间,单位为微秒。例如:1689229107000000。 |
rpc | Span名称或者是Operator名称。例如:/health。 |
serviceName | Span所在的微服务名称,又称为应用名称。例如:order。 |
serverIp | Span所在的机器IP地址。例如:127.0.0.1。 |
elapsed | 耗时,单位是微秒。例如:1000表示1毫秒。 |
spanId | Span ID,链路中的唯一标识。例如:fec891bb8f81e7fc。 |
parentSpanId | 父亲spanId,用来记录当前Span的父亲spanId。 例如:fec891bb8f81e7fb。 |
anno | 记录Span的tag信息。例如:lb=prod&。 |
实际场景使用举例:
查找耗时大于1毫秒的请求。
elapsed > 1000 | select distinct traceId
查找耗时大于1毫秒的请求,而且经过172.16.0.0这台机器。
* and serverIp = "172.16.0.0" and elapsed > 1000 | select distinct traceId
链路统计(Metric的格式)
对应的LogStore名称格式为:
logstore-xtrace-{userId}-stat-{regionId}
例如:
logstore-xtrace-123456789-stat-cn-beijing
字段名 | 字段说明 |
serviceName | Span所在的微服务名称,又称为应用名称。例如:order。 |
rpc | Span名称或者是Operator名称。例如:/health。 |
elapsed | 统计时间内的总耗时,单位为毫秒。例如:值为10, 表示10毫秒。 |
avg_elapsed | 统计时间内的平均耗时,单位为毫秒。例如:值为10, 表示10毫秒。 |
count | 统计时间内的数据。例如:10。 |
timestamp | 统计时间,单位为毫秒。例如:1607410144000。 |
实际场景使用举例:
查找Span名称为/api1的平均请求数。
rpc: "/api1" |select sum(count) qps timestamp GROUP by timestamp
查找Span名称为/api1的平均耗时。
rpc: "/api1" |select sum(elapsed) /sum(count) rt, timestamp GROUP by timestamp