可觀測鏈路 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