SkyWalking之P0核心业务场景输出调用链路应用

作者 : admin 本文共1320个字,预计阅读时间需要4分钟 发布时间: 2024-06-9 共3人阅读

延伸扩展:XX核心业务场景

路由标签打标、传播、检索

SkyWalking之P0核心业务场景输出调用链路应用插图

链路标签染色与传播

SW: SkyWalking的简写

  1. 用户请求携带HTTP头信息X-sw8-correlation
    • “X-sw8-correlation: key1=value1,key2=value2,key3=value3
  2. 网关侧读取解析HTTP头信息X-sw8-correlation,然后通过SW的关联上下文传播
    • ContextManager.getCorrelationContext().put(key, value)
      • SW插件使用
    • TraceContext.putCorrelation(key, value)
      • 应用使用
  3. 上游业务应用通过SW的关联上下文传播路由标签
    • CorrelationContext

SkyWalking之P0核心业务场景输出调用链路应用插图(1)

业务应用通过属性变量设置SW关联上下文的Span跨度标签键的集合,进行自动打标搜索

  • JVM启动参数属性: java -Dskywalking.correlation.auto_tag_keys=autotag1,autotag2
  • 环境变量: SW_CORRELATION_AUTO_TAG_KEYS=autotag1,autotag2

应用变更

  • apm-gateway-trace-plugin,SW插件,feature/guangyi/20240531_span_tag_sw8_correlation分支
    • 网关应用java代理
  • 链路标签染色与传播

使用示例

SkyWalking之P0核心业务场景输出调用链路应用插图(2)
SkyWalking之P0核心业务场景输出调用链路应用插图(3)

链路标签数据检索

{“query”:“query queryTraces($condition: TraceQueryCondition) {
data: queryBasicTraces(condition: $condition) {
traces {
key: segmentId
endpointNames
duration
start
isError
traceIds
}
}}”,“variables”:{“condition”:{“queryDuration”:{“start”:“2024-06-03 0624”,“end”:“2024-06-03 0654”,“step”:“MINUTE”},“traceState”:“ALL”,“queryOrder”:“BY_START_TIME”,“paging”:{“pageNum”:1,“pageSize”:20},“tags”:[{“key”:“http.status_code”,“value”:“200”}],“minTraceDuration”:null,“maxTraceDuration”:null,“serviceId”:“bGVmaXQtdXNlcnx8cHJvZA==.1”,“serviceInstanceId”:“bGVmaXQtdXNlcnx8cHJvZA==.1_YmRiZGU2MTMyM2NmNGVmMDhmNDYyNzQxOWY1MDg1ZDNAMTkyLjE2OC4xMDcuMjA4”}}}

参考

  • SkyWalking Cross Process Correlation Headers Protocol
  • 巧用SkyWalking实现全链路传递userId等自定义数据
  • RocketMQ消息灰度方案-消息逻辑隔离
本站无任何商业行为
个人在线分享 » SkyWalking之P0核心业务场景输出调用链路应用
E-->