# !/usr/bin/python
# -*- coding: utf-8 -*-
"""
@File : tools_perf_monitor.py
@Time : 2022/2/26 11:50
@Author : HuangJunYi
@Version : 1.0
@Desc : None
"""
import os
import re
import time
import psutil
# import win32api
from ctypes import windll
from datetime import datetime
from numpy.core import mean
from pyecharts.charts import Line, Tab, Bar
import pyecharts.options as opts
import sys
sys.path.append("D:\perftestframework")
from Bases import bases_params
from Bases.bases_handlers import PsutilUtils
def tools_checkPerfMonitorVersion(process_name):
"""
获取当前监控客户端版本号
:return:
"""
# file_ver_dict = win32api.GetFileVersionInfo(ConfigUtils().utils_get_config(bases_params.config_path, 'getXDVersion', 'xd_path'), os.sep)
# 主版本号 / 次版本号,备注截取于 Win32API 参考手册
# 对于所有平台,低位字包含 Windows 的版本号,该字的低位字节以十六进制表示法指定主版本号,高位字节以十六进制表示法指定次版本(版本号)
# FileVersionLS / FileVersionMS 指文件版本
# product_ver_ms = file_ver_dict['ProductVersionMS']
# product_ver_ls = file_ver_dict['ProductVersionLS']
# current_ver = '%d.%d.%d.%d' % (win32api.HIWORD(product_ver_ms), win32api.LOWORD(product_ver_ms), win32api.HIWORD(product_ver_ls), win32api.LOWORD(product_ver_ls))
current_ver = ""
if process_name == "tdxw.exe":
current_ver = "通达信进程"
elif process_name == "xiadan.exe":
current_ver = "下单还原进程"
elif process_name == "hexin.exe":
current_ver = "下单精简进程"
return current_ver
def tools_perfMonitor(process_name, cases_name, print_interval=1, time_wait=30):
"""
性能监控
:param process_name: 目标进程名称
统计exe进程性能指标
于 2022-11-30 19:52:13 首次发布