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

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

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

链路标签染色与传播

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
  • 业务应用通过JVM启动参数属性 设置SW关联上下文的Span跨度标签 键的集合java -Dskywalking.correlation.auto_tag_keys=autotag1,autotag2,进行自动打标搜索。
  • 业务应用通过环境变量 设置SW关联上下文的Span跨度标签键的集合SW_CORRELATION_AUTO_TAG_KEYS=autotag1,autotag2,进行自动打标搜索。

应用变更

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

使用示例

链路标签数据检索

{"query":"query queryTraces (condition: TraceQueryCondition) {\n data: queryBasicTraces(condition: condition) {\n traces {\n key: segmentId\n endpointNames\n duration\n start\n isError\n traceIds\n }\n }}","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"}}}

参考

相关推荐
专注物联网全栈开发几秒前
ESP32的IRAM用完了怎么优化
后端
雨落倾城夏未凉几秒前
7.QObject定时器和QTimer定时器的区别
后端·qt
洗澡水加冰3 分钟前
RAG系统工程化
后端·aigc
paopaokaka_luck26 分钟前
智能推荐社交分享小程序(websocket即时通讯、协同过滤算法、时间衰减因子模型、热度得分算法)
数据库·vue.js·spring boot·后端·websocket·小程序
程序员NEO42 分钟前
Spring AI 对话记忆大揭秘:服务器重启,聊天记录不再丢失!
人工智能·后端
用户214118326360242 分钟前
惊爆!国内轻松白嫖 Claude Code,编程效率狂飙
后端
iccb10131 小时前
我是如何实现在线客服系统的极致稳定性与安全性的
前端·javascript·后端
柒七爱吃麻辣烫1 小时前
八股文系列-----SpringBoot自动配置的流程
java·spring boot·rpc
M1A11 小时前
Java 面试系列第一弹:基础问题大盘点
java·后端·mysql
步、步、为营1 小时前
.net微服务框架dapr保存和获取状态
微服务·架构·.net