前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >skywalking根据文本信息找到对应的请求

skywalking根据文本信息找到对应的请求

作者头像
十毛
发布2021-11-24 13:26:15
5700
发布2021-11-24 13:26:15
举报
文章被收录于专栏:用户1337634的专栏

在定位问题的时候,有时候需要找到导致问题出现的那个请求,比如下单。但是只有订单号,怎么去找呢? 目前我们一般是根据下单时间,然后再根据时间去找对应的请求,但是请求很多,需要一个一个打开请求内容去定位该订单的下单请求。 本文使用脚本的方式方便快速定位到对应的请求

根据时间和接口名称获取批量请求

  • 获取批量请求
代码语言:javascript
复制
curl 'http://sky.fy.qq.com/graphql' \
  -H 'Content-Type: application/json;charset=UTF-8' \
  --data-raw '{"query":"query queryTraces($condition: TraceQueryCondition) {\n  traces: queryBasicTraces(condition: $condition) {\n    data: traces {\n      key: segmentId\n      endpointNames\n      duration\n      start\n      isError\n      traceIds\n    }\n    total\n  }}","variables":{"condition":{"queryDuration":{"start":"2021-10-22 1708","end":"2021-10-22 1723","step":"MINUTE"},"traceState":"ALL","paging":{"pageNum":1,"pageSize":15,"needTotal":true},"queryOrder":"BY_START_TIME","endpointName":"/userc/v1/user/address/addAddress"}}}' > sky_response.txt
  • 从结果中提取traceId
代码语言:javascript
复制
jq '.data.traces.data[] | .traceIds[]' sky_response.txt  | sed 's/"//g' > sky_trace.txt

获取请求链路信息

  • 获取单个请求的详细信息
代码语言:javascript
复制
curl -X POST 'http://sky.fy.qq.com/graphql' \
-H 'Content-Type: application/json' \
--data-raw '{
    "query": "query queryTrace($traceId: ID\u0021) {trace: queryTrace(traceId: $traceId) {spans {traceId tags {key value}}}}",
    "variables": {
        "traceId": "04557c8a528142bbaf0f996ac1250484.508.16348946392203935"
    }
}' > one_trace.txt
  • 过滤详细信息
代码语言:javascript
复制
grep orderNo one_trace.txt
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 根据时间和接口名称获取批量请求
  • 获取请求链路信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档