Matbox V1.0.7更新预览与手册

Posted PythonNotJava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matbox V1.0.7更新预览与手册相关的知识,希望对你有一定的参考价值。

哔哩哔哩地址 : Click Me!

Github地址 : Click Me!

YouTube演示地址 :Click Me!

快速更新命令

pip install https://github.com/PythonnotJava/MTBOX/releases/download/matbo1.0.7/matbox-1.0.7-py3-none-any.whl  --upgrade

PyPi 链接 : https://pypi.org/project/matbox/1.0.7/

快速安装

pip install matbox==1.0.7

MatBox 1.0.7 版本

MatBox(以下简称MT)1.0.7开始,支持用户选择界面是否使用默认还是自定义。即使是默认,用户仍然可以自定义,并且提供了友善的方法用于构建

文本 : 用户只需传入一个python文件路径(囿于当前仍只支持Python),即可以快速写入

qss :用户可以定制自己的代码区以及注释区的qss样式,这样,不同界面呈现不同效果

默认示例

from MT import main
main()

自定义版

from MT import *

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ui = MatTutorial(False)

    kargs = "editor_style": "font-size : 72px;color : red;",
             'lines': ['parameter': '参数A','function': "功能A"], 'details_style': "font-size : 72px;color : red;"
    # 以下所有文件里面只含有Python代码
    ui.left_listBox.addRoot("Root1")
    root1 = ui.left_listBox.getRootByName('Root1')
    ui.left_listBox.addItem("Three D Show", root1)
    ui.left_listBox.addItem2("MyExample", root1, 'demo.py')
    ui.left_listBox.addItem2('3D', root1, 'eeeee.py')
    ui.left_listBox.addItem2('EasyExample', root1, 'ea.txt', **kargs)
    ui.left_listBox.addTree("Root2",
                            ['t1', 't2', 't3'],
                            ('1.txt', '2.txt', '3.txt'),
                            [kargs, kargs, kargs])


    ui.show()
    sys.exit(app.exec())

备注 : 字体大是因为自定义的qss

继承关系与类的核心方法

MatTutorial(核心类,继承了QWidget)

MT的核心控件,用户创建实例的起始点,下面列举核心控件以及方法,下面几个大类同此

left_listBox : BaseTree实例,

_set:ReSeDiag实例

homepage : ComingHome实例

right_editor : ViewSeletedItemCodes实例

right_tutorial : QTextEdit实例

right_temp_widget_hp :主界面显示的栈区,index为0

right_temp_widget_org :功能区显示的栈区,index为1

mid_spliter : QSplitter实例,右侧widget设置为了栈区,存放right_temp_widget_hp和right_temp_widget_org

_config_datas : 配置文件的数据,是个字典

setCurRigthWidget该方法设置主页与功能区的来回切换

load_optimization用于存放UI美化的功能

_runCode ,运行代码块代码的功能,可能代码块不一定是代码,在当前版本(1.0.7),默认只支持python

_settings呼出设置栏目

_renewTheme实时更新主题并写入配置数据

closeEvent重写的关闭功能,核心在于关闭时写入新配置

send_receive_signal这里集成了按钮点击功能、信号连接功能、按钮快捷键

_setMtml当用户点击分支,来自BaeTree的setMTMl发送的信号会在这里完全调用,分别是qss、qss、tutorial_codes,当然了,点击分支时,会从主页立即切换也是合情合理的

keyPressEvent另一些按钮事件,部分在主页呈现

BaseTree(继承了QTreeView)

BaseTree实现了左侧树状分支,也是主要提供给用户调用接口的类

addItem2(new_item_name: str, basement: QStandardItem, file : Union[PathLike or str], **kwargs), 这是对1.0.6版本同名函数拓展,支持了用户选中添加的文件并自动解析的方案,而不是需要用户按照格式传入一个文件,函数的参数依次是 : 新结点名字、新结点基于的根结点、文件路径,同时字典参数可以使你自定义每个界面不同的展示效果,下同

addItem(new_item_name: str, basement: QStandardItem),对1.0.66的保留,添加一个名为xx的新结点到根结点,但是前提是位于Source/tutorial文件夹里面,必须能够找到同名为xx的mtml文件

addRoot( new_root_name: str),该方法用于创建一个新的根结点

addTree(self, new_root_name: str, new_item_names: list[str],listFilePaths:list[str or PathLike],kwargs:list[dict]),该方法用于创建一个新分支,分支包括根结点、该根结点下面的子结点名字列表、子结点列表同长度的文件路径

getRootByName(rootName : str),这是一个源于javascript灵感的函数,当你创建或者已经存在一个名为xx的根结点,你就可以使用此函数提取并操作它

configModel(labels: Iterable[str], hide=True),设置树的标签,如果设置hide为True,就不存在标签,否则,将会设置标签名字,至此,BaseTree仅支持根结点+子结点的构建方式,所以标签必须是2个

item_clicked( index: QModelIndex),是链接大部分MT下控件的核心函数,我不希望用户去操作它,它的核心作用是在用户点击子结点时候,发送结点名字到信号

ComingHome(QWidget

自1.0.7版本开始,MT提供了主界面,ComingHome实质是一个嵌入UI界面的网页

ViewSeletedItemCodes(继承了Qutepart)

setMtml(self, itemName : str)

通过传入的MTML文件名字,设置代码块数据和代码块当前文件的文件格式,返回代码块qss、注释区qss、注释区的数据

ViewSeletedItemCodes是代码块实现区域

ReSetDiag(继承了QDialog)

ReSetDiag是设置界面的实现,目前仅支持更换主题,多国语言暂未开放

themeChanged()函数是在用户改变了主题时连接信号

关于当前matbox的整体布局,注意,total_lay是全局布局

Kafka Eagle V1.3.4更新预览

1.概述

Kafka Eagle是一款开源的Kafka集群监控系统,源代码托管在Github。目前Kafka Eagle已更新到V1.3.4版本,域名已经统一更新为http://www.kafka-eagle.org/,之前的下载地址和官网使用手册地址均已替换,例如http://download.smartloli.org/替换为http://download.kafka-eagle.org/,而使用手册地址http://ke.smartloli.org/替换为https://docs.kafka-eagle.org/。今天,笔者就带着大家来整体分析一下Kafka Eagle。

2.内容

Kafka Eagle迭代至今,以及集成了许多功能,例如:多集群管理、Topic大小统计、Topic MBean监控、Kafka多版本兼容、Flink消费者应用程序支持等。

2.1 Kafka Eagle

2.1.1 背景

Kafka Eagle设计的背景,有以下几点原因:

  • Apache Kafka官方没有提供监控系统或是Web页面,来可视化Kafka集群,这对管理和掌握Kafka的动态带来极大的不方便,而开发者和运维人员无法及时把握Kafka的状态,在定位分析一些问题的时候,会很不方便
  • 已有的监控工具功能较少,对于现有的Kafka监控工具,功能较少,达不到想要的监控和管理效果
  • 已有的监控工具使用难度较大,目前一些监控工具均需要自己编译源代码,而且在配置上很复杂,同时文档说明也没有统一的规范,使用起来很不方便
  • 告警支持不足,有些监控工具虽然支持邮件告警,但是,对于已有的IM支持比较欠缺,例如微信和钉钉的支持等

技术图片

2.1.2 架构和核心模块

Kafka Eagle核心模块包含如下:

  • 面板可视化
  • 主题管理,包含创建主题、删除主题、主题列举、主题配置、主题查询等
  • 消费者应用:对不同消费者应用进行监控,包含Kafka API、Flink API、Spark API、Storm API、Flume API、LogStash API等
  • 集群管理:包含对Kafka集群和Zookeeper集群的详情展示,其内容包含Kafka启动时间、Kafka端口号、Zookeeper Leader角色等。同时,还有多集群切换管理,Zookeeper Client操作入口
  • 集群监控:包含对Broker、Kafka核心指标、Zookeeper核心指标进行监控,并绘制历史趋势图
  • 告警功能:对消费者应用数据积压情况进行告警,以及对Kafka和Zookeeper监控度进行告警。同时,支持邮件、微信、钉钉告警通知
  • 系统管理:包含用户创建、用户角色分配、资源访问进行管理

 技术图片

Kafka Eagle架构组成如下所示:

  • 可视化:负责展示主题列表、集群健康、消费者应用等
  • 采集器:数据采集的来源包含Zookeeper、Kafka JMX & 内部Topic、Kafka API(这里API针对Kafka 2.x以后的版本进行升级)
  • 数据存储:目前Kafka Eagle存储采用MySQL或SQLite,数据库和表的创建均是自动完成的,按照官方文档进行配置好,启动Kafka Eagle就会自动创建,用来存储元数据和监控数据
  • 监控:负责见消费者应用消费情况(是否有数据积压)、集群健康状态(集群节点是否掉线)
  • 告警:对监控到的异常进行告警通知,支持邮件、微信、钉钉等方式
  • 权限管理:对访问用户进行权限管理,对于管理员、开发者、访问者等不同角色的用户,分配不用的访问权限

技术图片

2.1.3 选择Kafka Eagle有哪些好处

选择Kafka Eagle有哪些好处呢?首先Kafka Eagle安装使用非常方便,这也是Kafka Eagle设计的初衷之一;其次,Kafka Eagle提供了友好的用户交互界面,以及丰富的功能支持。同时,对于使用过程中遇到的BUG和问题,可以在QQ群中进行咨询以及在Github源代码中提issues。总计如下:

  • 简单易用
  • 功能丰富
  • 专业支持(咨询渠道多,实时咨询Kafka Eagle项目作者进行解答)

技术图片

2.1.4 后续工作

Kafka Eagle的后续工作,分为4个维度:

  • 系统质量维度:持续优化Kafka Eagle系统,保证Kafka Eagle系统的使用质量
  • 需求收集维度:调研并收集Kafka监控需求,同时修复Kafka Eagle在Github中issues问题
  • 新功能开发维度:对于实际需求在Kafka Eagle中做新功能开发,来满足使用者的实际需求
  • 文档完善维度:对Kafka Eagle的官网使用手册进行完善,保证用户能够阅读规范的的使用手册

技术图片

3.新功能预览

 在Kafka Eagle V1.3.4中对Flink消费者应用进行了优化,同时对历史趋势图的绘制进行了优化,以及对展示主题列表和消费列表的逻辑进行优化。

技术图片

 

技术图片

4.文档整理

完善了Kafka Eagle的官方使用手册(https://docs.kafka-eagle.org/),以及Kafka Eagle系统设计PDF文档(http://pdf.kafka-eagle.org/)。

5.总结

Kafka Eagle的安装使用非常方便,如果在使用过程中遇到了问题,可以给笔者发邮件留言,或者直接在QQ群进行笔者。同时,也非常欢迎大家一起参与维护这个项目,在Github上提PR,或者issues。

6.结束语

这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

另外,博主出书了《Kafka并不难学》和《Hadoop大数据挖掘从入门到进阶实战》,喜欢的朋友或同学, 可以在公告栏那里点击购买链接购买博主的书进行学习,在此感谢大家的支持。关注下面公众号,根据提示,可免费获取书籍的教学视频。

以上是关于Matbox V1.0.7更新预览与手册的主要内容,如果未能解决你的问题,请参考以下文章

京东饭粒捡漏V1.0.7

编辑 WorkItem 不起作用 - UI 未更新 - VS2019 ADOS 2020

DynamicTp v1.0.7版本发布。还在为Dubbo线程池耗尽烦恼吗?还在为Mq消费积压烦恼吗?

docker 部署BSC v1.0.7-ht.3版本开发网

Android的Studio 2.2 预览 - 新的UI设计师和约束布局

Kafka Eagle V1.3.4更新预览