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实现保存网页到本地示例
Mar 16 Python
Python Trie树实现字典排序
Mar 28 Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
Django中ORM表的创建和增删改查方法示例
Nov 15 Python
基于Python中capitalize()与title()的区别详解
Dec 09 Python
python和flask中返回JSON数据的方法
Mar 26 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 Python
python打印文件的前几行或最后几行教程
Feb 13 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
PHP开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
jQuery Mobile 和 Kendo UI 的比较
2016/05/05 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
Python中splitlines()方法的使用简介
2015/05/20 Python
python实现判断一个字符串是否是合法IP地址的示例
2018/06/04 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
研讨会主持词
2014/04/02 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
学位证书委托书
2014/09/30 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
护理专业自荐信范文
2015/03/06 职场文书
宾馆客房管理制度
2015/08/06 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL
mysql全面解析json/数组
2022/07/07 MySQL