代码拉取完成,页面将自动刷新
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
# For details: https://github.com/gaogaotiantian/viztracer/blob/master/NOTICE.txt
import json
import os
import re
import subprocess
import sys
def generate_json(filename):
data_dir = os.path.join(os.path.dirname(__file__), "data")
cwd = os.getcwd()
os.chdir(data_dir)
path = os.path.join(os.path.dirname(__file__), "data", filename)
subprocess.run([sys.executable, path], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
os.chdir(cwd)
def adapt_json_file(filename):
path = os.path.join(os.path.dirname(__file__), "data", filename)
py_filename = ".".join(filename.split(".")[:-1] + ["py"])
py_path_lst = path.split(".")
py_path_lst[-1] = "py"
py_path = ".".join(py_path_lst)
with open(path) as f:
data = json.loads(f.read())
name_regex = re.compile(r"(.*) \((.*):([0-9]*)\)")
for event in data["traceEvents"]:
if event["ph"] == "X":
try:
m = name_regex.match(event["name"])
if m and py_filename in event["name"]:
event["name"] = f"{m.group(1)} ({py_path}:{m.group(3)})"
except ValueError:
pass
with open(path, "w") as f:
f.write(json.dumps(data))
def get_tests_data_file_path(filename):
return os.path.join(os.path.dirname(__file__), "data", filename)
def cmd_with_coverage(cmd):
assert "python" not in cmd, \
"Do not use unqualified 'python' to launch intrepreter. Passing sys.executable is the recommended way."
if os.getenv("COVERAGE_RUN"):
if cmd[0] == sys.executable:
return ["coverage", "run", "--source", "viztracer", "--parallel-mode"] + cmd[1:]
elif cmd[0] == "viztracer":
return ["coverage", "run", "--source", "viztracer", "--parallel-mode", "-m"] + cmd
else:
raise ValueError(f"can't get cmd with coverage for {cmd}")
return cmd
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。