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"}}}

参考

相关推荐
SomeB1oody10 小时前
【RustyML入门】6.3. 并行归约
开发语言·后端·机器学习·rust·教程
Profile排查笔记11 小时前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
用户9385156350711 小时前
用 AI 结对编程从 0 搭一个"单词后台管理系统":Next.js + Supabase + Drizzle + shadcn/ui 全记录
后端·postgresql·next.js
爱学习的小邓同学12 小时前
Golang --- (1)第一个Golang程序
开发语言·后端·golang
小灰灰搞电子13 小时前
Rust+Slint 实现的“DNA双螺旋”加载动画源码分享
后端·rust·slint·加载动画
面向Google编程13 小时前
向量库不再囤数据:Milvus 3.0 零拷贝直读数据湖
后端
gugucoding14 小时前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
IT_陈寒15 小时前
Redis内存警告竟是因为这个不起眼的配置项
前端·人工智能·后端
Python私教15 小时前
AI 漫剧角色一进分镜就变脸?把提示词升级成“角色 ID + 镜头合同”
后端
Python私教15 小时前
一次生成 20 个角色却全都撞脸:我用“角色合同”重做了批量生成流程
后端