无论才能、知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。

是否有办法对查询的整个链路进行追踪

Elasticsearch | 作者 wangxinrong | 发布于2020年08月17日 | 阅读数:1836

例如cdn,用户-cdn节点-源站网关-后端应用
如果在每个环节都记录日志,在日志中带有唯一的request id,响应时间。
那么可以根据request id查出每个环节的日志,知道各环节调用分别用了多长时间,从而知道哪个环节耗时更长,方便处理和优化性能问题。
 
那么对于es的链路: 应用程序-> es查询节点-> es shard(数据节点) 
1.应用程序好记录request id和响应时间
2.es shard 查询用时可以通过开启慢查日志,至于request id应该可以指定在_name参数中实现
3.但是es查询节点这块的时间,就是从接收应用查询请求开始,分发请求到各shard,获取并汇总结果,返回给应用程序的过程,这个应该怎么记录日志呢?
已邀请:

wajika

赞同来自:

elastic apm 试下

viewsite

赞同来自:

这块要深入源码加日志,你可以试试打开trace日志

pony_maggie - 公众号:犀牛饲养员的技术笔记

赞同来自:

ES这一层使用profile应该基本能看到里面的执行流程吧。需要和应用程序一起追踪链路这个目前应该做不到

要回复问题请先登录注册