我们试图在InfoSphereCDC-confluent kafka设置中测量消息写入的延迟。我们有虚拟表,将执行虚拟事务。
数据流-mf db2 table-->iidr-->kafka主题
(对于Kafka来说,制片人是iidr)
在没有任何企业监控工具的情况下,找出示例事务的写入延迟的正确方法是什么?我们是否可以检查日志中的写操作,并考虑每个事务的时间戳,并与cdc事务日志进行比较以找出写延迟?
ps-我配置了jconsole来收集Kafka度量。但是我们怎样才能找到特定cdc流对kafka主题的写延迟呢?
谢谢!
1条答案
按热度按时间34gzjxbg1#
(仅供参考:我专门为ibm和idr cdc产品工作)
idr复制产品中的集成kcops(kafka自定义操作处理器)在创建kafka生产者记录时不提供时间戳参数。如果在没有kcop的情况下使用默认行为,也会出现这种情况。
因此,kafka将在接收到每个生产者记录时为其生成一个时间戳,并将其与该记录相关联。读取消息时,此时间戳值包含在使用者记录中。
这可以通过减法与源代码生成的时间进行比较。有一个时间戳日志控制字段,可以与行数据一起复制。在某些源上,例如db2luw,它表示事务的提交时间。在某些情况下,表示将特定行添加到日志中的时间。
https://www.ibm.com/support/knowledgecenter/en/sstrgz_11.4.0/com.ibm.cdcdoc.mcadminguide.doc/refs/recordmodificationtime.html
一般来说,我认为延迟最好从提交实际生效的时间开始考虑,但这取决于您希望了解的内容。
我相信在db2z上,每一个都是操作日志条目的时间,您可以使用事务中最后一个操作的时间戳条目进行粗略的近似。这忽略了写入最后一个事务和实际提交之间的延迟量,但通常这些延迟量非常接近。
idr确实提供功能增强请求,因此如果您希望看到增强,请随时通过支持或此联系。
当做,