skywalking根据文本信息找到对应的请求
2023-03-15 23:26:20 时间
在定位问题的时候,有时候需要找到导致问题出现的那个请求,比如下单。但是只有订单号,怎么去找呢? 目前我们一般是根据下单时间,然后再根据时间去找对应的请求,但是请求很多,需要一个一个打开请求内容去定位该订单的下单请求。 本文使用脚本的方式方便快速定位到对应的请求
根据时间和接口名称获取批量请求
- 获取批量请求
curl 'http://sky.fy.qq.com/graphql'
-H 'Content-Type: application/json;charset=UTF-8'
--data-raw '{"query":"query queryTraces($condition: TraceQueryCondition) {
traces: queryBasicTraces(condition: $condition) {
data: traces {
key: segmentId
endpointNames
duration
start
isError
traceIds
}
total
}}","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
jq '.data.traces.data[] | .traceIds[]' sky_response.txt | sed 's/"//g' > sky_trace.txt
获取请求链路信息
- 获取单个请求的详细信息
curl -X POST 'http://sky.fy.qq.com/graphql'
-H 'Content-Type: application/json'
--data-raw '{
"query": "query queryTrace($traceId: IDu0021) {trace: queryTrace(traceId: $traceId) {spans {traceId tags {key value}}}}",
"variables": {
"traceId": "04557c8a528142bbaf0f996ac1250484.508.16348946392203935"
}
}' > one_trace.txt
- 过滤详细信息
grep orderNo one_trace.txt
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十