fio数据整理

2023-11-06 00:52
文章标签 数据 整理 fio

本文主要是介绍fio数据整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记录简要的fio数据分析整理,抓取一些关键数据…待完善

import os
import reclass saveFio:def __init__(self):#获取当前目录self.path = os.getcwd()#设定文件名# 如果是fio多线程,请加上 --group_reporting ,让多个线程读写结果合并,方便统计self.filename = "output-1.log"self.file = os.path.join(self.path,self.filename)rdata = {}def openfile(self):with open(self.file,'r') as f:text = f.read()return textdef get_data(self,rw):rdata = {}for key in ["rIOPS","rBW","rBiW","rclatv","rclatavg","rclatmin","rclatmax","rqos9","rqos29","rqos39"]:rdata[key] = ""try:pattern = f"{rw}:.*?(?=iops)"   #抓从read:开始到 遇到第一个 iops结束的字符串段,包含换行符text = re.search(pattern,self.text,re.DOTALL).group()print(text)#IOPS,BW#当rw=read时匹配以 含"read: IOPS=",后接 [\d.]代表整数, + 代表匹配多位,[kKMGT]代表含这些字母 ?代表匹配一个字符rdata["rIOPS"] = re.findall(f'{rw}: IOPS=([\d.]+[kKMGT]?)', text)[0]rdata["rBiW"] = re.findall(r'BW=([\d.]+[kKMGT]?i?B/s)', text)[0]                #MiBrdata["rBW"] = re.findall(f'{rw}:.*\(([\d.]+[kKMGT]?B/s)',text)[0]              #MB#clat#匹配括号里的字符串,group(1)仅输出括号里的 "字符串",group() 输出 "(字符串)",group(0)输出 "clat (字符串)"rdata["rclatv"] = re.search(r"clat \((.*?)\)",text).group(1)    #([\d.]+)   加+号代表匹配一到多位rdata["rclatmin"] = re.search(r"clat.*min=([\d.]+),",text).group(1)#rdata["rclatmin"] = re.findall(r"clat.*min=([\d.]+.),",text)[0]rdata["rclatmax"] = re.findall(r"clat.*max=([\d.]+),",text)[0]rdata["rclatavg"] = re.findall(r"clat.*avg=([\d.]+),",text)[0]#qos#.strip()  去除字符串前后的空格# \.  因为.需要特别转义,让它在这里没有特殊含义,仅代表.,否则正则表达式中它代表 任意一个字符rdata["rqos9"] = re.search(r'90\.00th=\[(.*?)\]',text).group(1).strip()rdata["rqos29"] = re.search(r'99\.00th=\[(.*?)\]',text).group(1).strip()rdata["rqos39"] = re.search(r'99\.90th=\[(.*?)\]',text).group(1).strip()#print(rdata["rqos9"])except Exception as e:print("some value not get")return rdata                      def run(self):self.text = self.openfile()readData=self.get_data("read")writeData=self.get_data("write")print(readData)print(writeData)if __name__ == "__main__":myclass = saveFio()myclass.run()

这篇关于fio数据整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/353540

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键