Skip to content

ICT-BCLab/RecorderfileFlask_fisco

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

面向FISCO-BCOS性能测量框架结果可视化

简介

该系统为面向FISCO-BCOS的松耦合区块链性能测量框架的展示模块部分,基于Flask与PyEcharts开发了便于用户查看性能指标测量结果统计、操作性能指标开关的界面,基于FISCO-BCOS官方的Python SDK开发了查看网络概览信息的大屏页面。

系统组成

开关操作

  • 操作全局开关
  • 操作局部开关

开关操作部分负责与配置模块进行交互。用户可在网页左侧查看当前操作节点开关的配置情况,同时,可以通过操作开关按钮的形式,实现对配置模块的调用,更便捷地进行全局开关及各个局部开关的开启与关闭。

数据概览

数据概览部分负责与区块链网络进行交互。该部分使用了FISCO-BCOS官方Python SDK提供的封装了访问FISCO-BCOS节点JSON-RPC的Python API,完成与区块链节点的连接以及对以下链上信息的实时显示:

  1. 区块链网络信息:从当前操作节点的角度,显示节点名称与ID,并且可以快速切换至当前区块链网络拓扑中的其他节点,对应的配置服务器端口号与记录文件夹路径会随之切换。从整个网络的角度,动态更新显示当前网络拓扑节点数量、最新块高、上链交易数量、每秒到达交易池的交易数、最新区块的详细信息。

  2. 区块信息:以分页表单形式,按照块高升序顺序显示当前节点所打包的区块统计信息,包括区块哈希、块内交易数量、区块打包时刻、开始验证时刻、结束验证时刻和落库时刻。

  3. 交易信息:以分页表单形式,按进入交易池时刻升序顺序显示交易哈希、进入交易池时刻、离开交易池时刻以及落库块高。

指标统计

指标统计部分负责与记录模块记录结果进行交互。该部分以导航栏形式按照指标层次划分方式提供了查看不同指标可视化统计结果的入口,对每个统计图添加了颜色映射、缩放展示、视图转换等功能。具体而言,对指标进行了以下统计图绘制:

  1. 网络层

    1. 对于节点消息收发总量指标,分别绘制了节点接受和发送P2P消息和Channel消息的消息大小随测量时刻变化的折线图。
    2. 对于P2P网络平均传播时延指标,针对当前节点向其他剩余节点发送消息并成功接收的时间进行统计,计算其平均值,并绘制柱状图以直观展示。
  2. 数据层

    1. 对于数据库写入速率指标,统计不同区块高度的写入耗时,计算数据库平均写入速率,绘制柱状图展示,个数据点的悬浮标签显示选中区块的哈希值。
    2. 对于数据库读取速率指标,按时刻查看,绘制读取耗时随开始测量时刻变化的折线图以及读取位置占总量的饼状图;按累计分布查看,以折线面积图形式绘制读取耗时的累积分布函数图。
  3. 共识层

    1. 对于每轮PBFT共识耗时指标,统计不同高度区块的共识耗时,绘制柱状图,各数据点的悬浮标签显示所选区块的共识类型;分别统计采用普通PBFT和rPBFT的进行共识的区块总数,绘制两者占总量的饼状图。
    2. 对于每轮Raft共识耗时指标,统计不同高度区块的共识耗时,绘制柱状图展示。
  4. 合约层

    1. 对于合约执行时间指标,按时刻查看,绘制合约执行时间随开始测量时刻变化的折线图以及所执行合约的类型占总量的饼状图,各数据点的悬浮标签显示合约地址和执行所选合约的交易哈希;按累计分布查看,以折线面积图形式绘制执行耗时的累积分布函数图。
  5. 交易生命周期

    1. 对于交易延迟指标,按时刻查看,绘制不同进入交易池时刻交易延迟变化的柱状图,各数据点的悬浮标签显示交易哈希和交易所在区块高度;按累计分布查看,以折线面积图形式绘制交易延迟的累积分布函数图。
    2. 对于交易排队时延指标,按时刻查看,绘制不同进入交易池时刻交易排队时延变化的柱状图,各数据点的悬浮标签显示交易哈希;按累计分布查看,以折线面积图形式绘制交易排队时延的累积分布函数图。
    3. 对于交易池输入通量指标,分别统计来源于本地和RPC的交易总数,绘制两者占总量的饼状图;统计总记录时间和总记录交易数,计算并显示交易池输入通量值。
    4. 对于出块耗时指标,绘制不同高度区块出块耗时柱状图,各数据点的悬浮标签显示所选区块哈希、块内交易数量以及交易树哈希值。
    5. 对于块内交易吞吐量指标,绘制不同高度区块块内交易吞吐量柱状图,各数据点的悬浮标签显示所选区块哈希、块内交易数量、交易树哈希和该区块从打包到落库的耗时。
    6. 对于块内交易冲突率指标,绘制不同高度区块块内交易冲突率柱状图,各数据点的悬浮标签显示所选区块块内交易总数、冲突交易数以及构造DAG耗时。
    7. 对于区块验证效率指标,绘制不同高度区块验证效率柱状图,各数据点的悬浮标签显示块内交易总数和区块验证耗时。

使用方法

安装依赖

pip install -r requirements.txt

启动

python app.py

调整

界面内提供了两个输入栏,可以由输入栏指定要连接的开关服务器地址以及要读取的csv文件夹地址。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published