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,一经查实,立即删除!

相关文章

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

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

【MySQL数据库】 四

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

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

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

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

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

后端工程化 | SpringBoot 知识点

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

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

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

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

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

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

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

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方法用于将当前页面的焦点,转移到指定元素上 2、Element.blur() Element.blur方法用于将焦点从当前元素移除 3、Element.remove() Element.remove方法用于将当前元素节点从它的父节点移除 4、Element.getBoundingClientRect() …

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

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

链表(1)

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

接口请求断言

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

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

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

【JVM系列】- 挖掘·JVM堆内存结构

挖掘JVM堆内存结构 文章目录 挖掘JVM堆内存结构堆的核心概念堆的特点 堆的内存结构内存划分新生代/新生区(Young Generation)老年代(Tenured Generation)永久代(或元数据区)(PermGen 或 MetaSpa…

2023.11.4 Idea 配置国内 Maven 源

目录 配置国内 Maven 源 重新下载 jar 包 配置国内 Maven 源 <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf> …

ChatGPT对未来发展的影响?一般什么时候用到GPT

ChatGPT以其强大的自然语言处理能力对未来的发展具有重要影响。以下是ChatGPT的潜在影响和一般使用情况&#xff1a; 改善自然语言理解和生成&#xff1a;ChatGPT和类似的模型可以改善机器对人类语言的理解和生成。这将有助于改进各种应用领域&#xff0c;包括智能助手、聊天机…

HMM与LTP词性标注之命名实体识别与HMM

文章目录 知识图谱介绍NLP应用场景知识图谱&#xff08;Neo4j演示&#xff09;命名实体识别模型架构讲解HMM与CRFHMM五大要素&#xff08;两大状态与三大概率&#xff09;HMM案例分享HMM实体识别应用场景代码实现 知识图谱介绍 NLP应用场景 图谱的本质&#xff0c;就是把自然…

Linux友人帐之网络编程基础www服务器

一、概述 1.1www基础 WWW&#xff08;World Wide Web&#xff0c;万维网&#xff09;是一种分布式、全球性的信息服务系统&#xff0c;是集成Internet、Web浏览器和Web服务器等技术而形成的一个庞大的、涉及全球的信息网络。 用户在浏览器中输入www.cqvie.edu.cn访问该网站主页…

day2 ARM基础

.text .globl _start _start:mov r0,#0 mov r1,#0 addfunc:add r0,r0,#1 r0自增1adds r1,r1,r0 R1实现1~100累加cmp r0,#100 判断r0是否到100bleq loop r0等于100 进入死循环 blne addfunc r0等于100跳转至循环累加 loop:b loopstop:b stop.end 【汇编…