kafka-python 获取topic lag值方式

 更新时间:2019年12月23日 09:26:33   作者:conghui_  
今天小编就为大家分享一篇kafka-python 获取topic lag值方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

说真,这个问题看上去很简单,但“得益”与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制作flappybird游戏的详细步骤

    基于Python制作flappybird游戏的详细步骤

    python中pygame模块能让我们很方便的编写游戏,下面这篇文章主要给大家介绍了关于如何基于Python制作flappybird游戏的详细步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Python如何处理大数据?3个技巧效率提升攻略(推荐)

    Python如何处理大数据?3个技巧效率提升攻略(推荐)

    这篇文章主要介绍了Python如何处理大数据?3个技巧效率提升攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • python数组和矩阵的用法解读

    python数组和矩阵的用法解读

    这篇文章主要介绍了python数组和矩阵的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Vscode使用matplotlib显示图像详细图文教程

    Vscode使用matplotlib显示图像详细图文教程

    最近使用python里的matplotlib库绘图,想在代码结束时显示图片看看,下面这篇文章主要给大家介绍了关于Vscode使用matplotlib显示图像的相关资料,需要的朋友可以参考下
    2024-03-03
  • Python使用difflib标准库实现查找文本间的差异

    Python使用difflib标准库实现查找文本间的差异

    在文本处理和比较中,查找文本之间的差异是一项常见的任务,本文将详细介绍如何使用difflib模块来查找文本之间的差异,包括单行和多行文本的比较、生成差异报告,需要的可以参考下
    2024-03-03
  • Python读写常用数据文件的示例详解

    Python读写常用数据文件的示例详解

    Python 提供了多种强大的工具和库,可以轻松实现对各种类型文件的读写操作,本文为大家整理了Python读写常用的那些数据文件的方法,希望对大家有所帮助
    2025-01-01
  • Python 通过URL打开图片实例详解

    Python 通过URL打开图片实例详解

    这篇文章主要介绍了Python 通过URL打开图片实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • Python编程之Re模块下的函数介绍

    Python编程之Re模块下的函数介绍

    这篇文章主要介绍了Python编程之Re模块下的函数介绍,还是比较不错的,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • Python随机验证码生成和join 字符串的问题解析

    Python随机验证码生成和join 字符串的问题解析

    Python中有join()和os.path.join()两个函数,join是将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串而os.path.join(): 将多个路径组合后返回,本文给大家介绍的非常详细,需要的朋友一起看看吧
    2022-04-04
  • Python OpenCV实现按照像素点图片切割

    Python OpenCV实现按照像素点图片切割

    本文将详细介绍如何使用Python和OpenCV进行基于像素点的图像分割,包括阈值分割,自适应阈值分割等,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-12-12

最新评论