fio数据整理之二

fio数据简单抓取
上文我们完成了一些fio output数据的简单抓取,本文将针对抓取的数据做进一步的处理,输出到表格之中,方便我们查看,统计结果。

本文先使用最简单的方法创建csv档案
我们现有个基本认知,在csv档案中,默认列用 逗号(,)进行分隔。也就是假如你在Linux下使用shell 命令 echo "1,2" > test.csv ,你用表格软件打开test.csv的话,它是这样的
在这里插入图片描述
OK,所以,已知用逗号隔开字符串,再输出到csv档案中就能得到一个简单的表格,求:如何将我们需要的fio数据再放到表格中?

解:
我先放上上文我们得到的两个字典,也就是本文中readData,writeData = myclass.run() 得到的两个字典(PS:细心的小伙伴应该发现了,相较上文,修改了字典中Key的名字,这里是为了方便后续取值)
readData
{‘IOPS’: ‘527k’, ‘BW’: ‘2158MB/s’, ‘BiW’: ‘2058MiB/s’, ‘clatv’: ‘usec’, ‘clatavg’: ‘180.34’, ‘clatmin’: ‘6’, ‘clatmax’: ‘27758’, ‘qos9’: ‘486’, ‘qos29’: ‘865’, ‘qos39’: ‘1336’}
writeData
{‘IOPS’: ‘527k’, ‘BW’: ‘2158MB/s’, ‘BiW’: ‘2058MiB/s’, ‘clatv’: ‘usec’, ‘clatavg’: ‘58.22’, ‘clatmin’: ‘8’, ‘clatmax’: ‘31750’, ‘qos9’: ‘81’, ‘qos29’: ‘130’, ‘qos39’: ‘206’}

详细代码:

def writeToCSV(data,rwType):global vacsvFile = os.path.join(os.getcwd(),"fioData.csv")#设定一下表格中需要展示的项目,我这里只筛选了四项dataType = ["item","IOPS","BW","clatavg","qos39"]#先创建表头if va == 1:msg = ""for key in dataType:msg += f"{key},\n"with open(csvFile,'w') as f:f.write(msg)va += 1#读取表格中的文件,readlines()会按行列成List格式,即myData的类型是列表with open(csvFile,'r') as f:myData = f.readlines()# n 代表行号n = 0for line in myData:#第一行显示的是 item ,read , write这些标题if n == 0:#利用 replace 替换掉换行符msg = line.replace("\n","%s,\n"%rwType)else:#同样可以用re 来进行替换动作,dataType[n]读到我们要显示的项目名,如IOPS,再用 data["IOPS"]抓到之前字典内对应的数据, +=让msg慢慢完整msg += re.sub("\n",f"{data[dataType[n]]},\n",line)n += 1#把完整的msg数据直接覆盖写进csv档案里面with open(csvFile,'w') as f:f.write(msg)if __name__ == "__main__":#创建一个全局变量用于判断是否需要先写一个头文件,就是列表需要显示的ITEM名之类的global vava = 1#上文提到的一个类,实例化它myclass = saveFio()#将处理过的数据返回并赋值,readData与writeData都是字典类型的readData,writeData = myclass.run()#调用本文的函数进行处理,将结果写到csv档案中writeToCSV(readData,"read")writeToCSV(writeData,"write")

执行完毕后,我们得到一个fioData.csv的档案,打开后的效果是这样的:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/132885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【星海出品】VUE(六)

插槽Slots 传递属性 attribute App,vue <script> import SlotsBase from "./components/SlotsBase.vue" import SlotsTow from "./components/SlotsTow.vue" export default {components:{SlotsBase,SlotsTow},data(){return{message: "父集 m…

Corel VideoStudio 会声会影2024剪辑中间的视频怎么删 剪辑中音乐太长怎么办

我很喜欢视频剪辑软件Corel VideoStudio 会声会影2024&#xff0c;因为它使用起来很有趣。它很容易使用&#xff0c;但仍然给你很多功能和力量。视频剪辑软件Corel VideoStudio 会声会影2023让我与世界分享我的想法&#xff01;“这个产品的功能非常多&#xff0c;我几乎没有触…

flink1.15报错 processElement_split

flink sql 完整报错 Caused by: java.lang.NullPointerExceptionat StreamExecCalc$1148.processElement_split178(Unknown Source) ~[?:?]at StreamExecCalc$1148.processElement(Unknown Source) ~[?:?]at org.apache.flink.streaming.runtime.tasks.CopyingChainingOutp…

【MySQL数据库】 四

本文主要介绍了mysql数据库的几种常见的约束. 一.数据库约束 我们希望存储的数据是靠谱的,mysql提供一些机制来辅助我们自动的依赖程序对数据进行检查 . 这类查数据的机制,就是约束 一旦约束好了,后续在进行增 删 改的时候,mysql就会自动的对修改的数据做出检查,如果不符合…

openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述

文章目录 openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述116.1 背景信息116.2 操作步骤 openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述 116.1 背景信息 数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作…

AWS:EC2实例创建步骤

创立步骤修改 播报 假如你现已准备好运用Amazon Web服务(AWS)&#xff0c;那么&#xff0c;至少有两种做法能够用来创立以及运用AWS。一种做法是运用AWS API(应用程序编程接口)调用。主张你在大多数情况下运用第二种做法, 即AWS办理操控台&#xff0c;亚马逊的基于web的界面。 …

服务器搭建:从零开始创建自己的Spring Boot应用【含登录、注册功能】

当然&#xff0c;你可以先按照IDEA搭建SSM框架【配置类、新手向】完成基础框架的搭建 步骤 1&#xff1a;设计并实现服务器端的用户数据库 在这个示例中&#xff0c;我们将使用MySQL数据库。首先&#xff0c;你需要安装MySQL并创建一个数据库以存储用户信息。以下是一些基本步…

后端工程化 | SpringBoot 知识点

文章目录 [SpringBoot] 后端工程化1 需求2 开发流程3 RequestController 类&#xff08;操作类&#xff09;3.1 简单参数&#xff08;形参名和请求参数名一致&#xff09;3.2 简单参数&#xff08;形参名和请求参数名不一致&#xff09;3.3 复杂实体参数3.4 数组参数3.5 集合参…

【从0到1开发一个网关】网关Mock功能的实现

文章目录 什么是Mock?如何实现Mock什么是Mock? Mock(模拟)是一种测试技术,用于创建虚拟对象来模拟真实对象的行为。Mock对象模拟了真实对象的行为,但是不依赖于真实对象的实现细节。它们可以在测试中替代真实对象,以便进行独立的单元测试。 需要使用Mock的原因包括以下几…

COOHOM通过采用亚马逊云科“专库专用”的方式,为云原生的构建提供稳定的数据支撑

全球化浪潮下&#xff0c;面对全球化业务发展带来的新需求与新挑战&#xff0c;越来越多的企业开启了云原生构建旅程&#xff0c;以推动业务系统快速迭代&#xff0c;为国际业务的拓展打下坚实的基础。COOHOM是杭州群核信息技术有限公司旗下的国际化品牌。为全球企业和个人提供…

《面向对象软件工程》笔记——1-2章

“学习不仅是一种必要&#xff0c;而且是一种愉快的活动。” - 尼尔阿姆斯特朗 文章目录 第一章 面向对象软件工程的范畴历史方面经济方面维护方面现代软件维护观点交付后维护的重要性 需求、分析和设计方面团队开发方面没有计划&#xff0c;测试&#xff0c;文档阶段的原因面向…

8-3、T型加减速单片机程序【51单片机控制步进电机-TB6600系列】

摘要&#xff1a;根据前两节内容&#xff0c;已完成所有计算工作&#xff0c;本节内容介绍具体单片机程序流程及代码 一、程序流程图 根据前两节文章内容可知&#xff0c;T型加减速的关键内容是运动类型的判断以及定时器初值的计算&#xff0c;在输出运动参数后即可判断出运动…

Oracle(13)Maintaining Data Integrity

目录 一、基础知识 1、Data Integrity 数据库的完整性 2、Types of Constraints 约束类型 3、Constraint States 约束状态 4、Guidelines for Constraints 约束准则 二、基础操作 1、Enabling Constraints 启用约束 2、命令方式创建约束 3、修改表创建的约束 4、删除约…

JavaScript_Element对象_方法

1、Element.focus() Element.focus方法用于将当前页面的焦点&#xff0c;转移到指定元素上 2、Element.blur() Element.blur方法用于将焦点从当前元素移除 3、Element.remove() Element.remove方法用于将当前元素节点从它的父节点移除 4、Element.getBoundingClientRect() …

常用的电子邮件服务提供商有哪些?

当我们讨论常用的电子邮件服务时&#xff0c;可以根据国内和国外进行分类观察。以下是一些常见的国内和国外电子邮件服务。 什么是国外邮箱和国内邮箱&#xff1f; 国外邮箱是指在国外注册和使用的电子邮箱&#xff0c;而国内邮箱则是在国内注册和使用的电子邮箱。 国外邮箱是指…

链表(1)

目录 单链表 主函数test.c test1 test2 test3 test4 头文件&函数声明SList.h 函数实现SList.c 打印SLPrint 创建节点CreateNode 尾插SLPushBack 头插SLPushFront 头删SLPopBck 尾删SLPopFront 易错点 本篇开始链表学习。今天主要是单链表&OJ题目。 单链…

2.3 CSS 属性样式

1.字体属性 font-size&#xff1a;字体大小 Chrome浏览器支持的最小文字为12px&#xff0c;默认的文字大小为16px&#xff0c;并且0px会自动消失。不同浏览器默认的字体大小可能不一致&#xff0c;所以最好给一个明确的值&#xff0c;不要用默认大小。通常以给body设置font-si…

接口请求断言

接口请求断言是指在发起请求之后&#xff0c;对返回的响应内容去做判断&#xff0c;用来查看是否响应内容是否与规定的返回值相符。 在发起请求后&#xff0c;我们使用一个变量 r 存储响应的内容&#xff0c;也就是 Response 对象。 Response 对象有很多功能强大的方法可以调…

城市内涝怎么预警?万宾科技内涝积水监测仪

在城市运行过程中&#xff0c;城市内涝问题频繁出现&#xff0c;影响城市管理水平的提升&#xff0c;也会进一步减缓城市基础设施建设。尤其近几年来&#xff0c;城市内涝灾害频繁出现&#xff0c;在沿海地区内涝所带来的安全隐患成为城市应急管理部门的心头大患。城市内涝的背…

NIO和BIO

一&#xff1a;异步和同步的区别 同步&#xff1a;调用者要一直等待调用结果的通知后才能进行后续的执行 异步&#xff1a;指被调用方先返回应答让调用者先回去&#xff0c;然后再计算调用结果&#xff0c;计算完最终结果后再通知并返回给调用方 理解&#xff1a;同步、异步的…