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处理json数据中的中文
Mar 06 Python
python实现的简单窗口倒计时界面实例
May 05 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
Python高级用法总结
May 26 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
Python实现的ftp服务器功能详解【附源码下载】
Jun 26 Python
简单了解python的break、continue、pass
Jul 08 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
树莓派安装OpenCV3完整过程的实现
Oct 10 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 Python
python 实现体质指数BMI计算
May 26 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
PHP 使用header函数设置HTTP头的示例解析 表头
2013/06/17 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php中switch语句用法详解
2015/08/17 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
jquery tab标签页的制作
2010/05/10 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
python分布式环境下的限流器的示例
2017/10/26 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
详解python中的lambda与sorted函数
2020/09/04 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
实习班主任自我评价
2015/03/11 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
卖车协议书范文
2016/03/23 职场文书
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL