我正在构建一个性能监控工具,它与Kafka主题一起在集群中运行。
例如,我正在监视两个主题:
请注意,它在群集上运行,因此不同的组件可能在不同的主机上运行,因此会存在不同的物理时钟,因此它们可能不同步,并且这将显着扭曲结果。
此外,我无法可靠地使用监视工具本身的时钟,因为这将通过其自身的处理时间影响计时结果。
因此,我想设计一种可靠地计算时间差异的方法。在Kafka中测量两个事件之间时间差异的最可靠方法是什么?
例如,我正在监视两个主题:
request
和response
。即我需要有两个时间戳 - 一个来自request
,另一个来自response
。然后,我可以计算差异以查看在接收请求并生成响应的服务中花费了多少时间。请注意,它在群集上运行,因此不同的组件可能在不同的主机上运行,因此会存在不同的物理时钟,因此它们可能不同步,并且这将显着扭曲结果。
此外,我无法可靠地使用监视工具本身的时钟,因为这将通过其自身的处理时间影响计时结果。
因此,我想设计一种可靠地计算时间差异的方法。在Kafka中测量两个事件之间时间差异的最可靠方法是什么?
log.message.timestamp.type
设置为LogAppendTime
,以在记录中使用代理时间戳。然后,您可以找到请求和响应之间的时间差。 - Kamal Chandraprakash