kafka-python 获取topic lag值方式


Posted in Python onDecember 23, 2019

说真,这个问题看上去很简单,但“得益”与kafka-python神奇的文档,真的不算简单,反正我是搜了半天还看了半天源码。

直接上代码吧

from kafka import SimpleClient, KafkaConsumer
from kafka.common import OffsetRequestPayload, TopicPartition

def get_topic_offset(brokers, topic):
  """
  获取一个topic的offset值的和
  """
  client = SimpleClient(brokers)
  partitions = client.topic_partitions[topic]
  offset_requests = [OffsetRequestPayload(topic, p, -1, 1) for p in partitions.keys()]
  offsets_responses = client.send_offset_request(offset_requests)
  return sum([r.offsets[0] for r in offsets_responses])


def get_group_offset(brokers, group_id, topic):
  """
  获取一个topic特定group已经消费的offset值的和
  """
  consumer = KafkaConsumer(bootstrap_servers=brokers,
               group_id=group_id,
               )
  pts = [TopicPartition(topic=topic, partition=i) for i in
      consumer.partitions_for_topic(topic)]
  result = consumer._coordinator.fetch_committed_offsets(pts)
  return sum([r.offset for r in result.values()])


if __name__ == '__main__':
  topic_offset = get_topic_offset("brokers", "topic")
  group_offset = get_group_offset("brokers", "group_id", "topic")
  lag = topic_offset - group_offset

以上这篇kafka-python 获取topic lag值方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 文件重命名工具代码
Jul 26 Python
在Python中进行自动化单元测试的教程
Apr 15 Python
以Flask为例讲解Python的框架的使用方法
Apr 29 Python
Python中zfill()方法的使用教程
May 20 Python
python实现外卖信息管理系统
Jan 11 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
Aug 07 Python
opencv3/C++ 平面对象识别&透视变换方式
Dec 11 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
Jun 02 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 Python
分享一个python的aes加密代码
Dec 22 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 #Python
python pyenv多版本管理工具的使用
Dec 23 #Python
Python测试Kafka集群(pykafka)实例
Dec 23 #Python
Python with语句和过程抽取思想
Dec 23 #Python
python每5分钟从kafka中提取数据的例子
Dec 23 #Python
Python彻底删除文件夹及其子文件方式
Dec 23 #Python
win10下python2和python3共存问题解决方法
Dec 23 #Python
You might like
SONY SRF-M100的电路分析
2021/03/02 无线电
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
JavaScript 事件系统
2010/07/22 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
Python实现简单状态框架的方法
2015/03/19 Python
Python合并多个装饰器小技巧
2015/04/28 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
某个公司的Java笔面试题
2016/03/11 面试题
大三在校生电子商务求职信
2013/10/29 职场文书
职工运动会感言
2014/02/07 职场文书
大二法学专业职业生涯规划范文
2014/02/12 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
企业宗旨标语
2014/06/10 职场文书
代理人委托书
2014/09/16 职场文书
党支部半年考察意见
2015/06/01 职场文书