| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- templateHtml.py - 生成 Trace 执行流程可视化 HTML
- 参考 visualize.py 的样式设计
- """
- import json
- import os
- from pathlib import Path
- def generate_trace_visualization_html(output_path: str = None):
- """
- 生成 Trace 可视化 HTML 文件
- Args:
- output_path: 输出的 HTML 文件路径
- """
- # 读取 mock 数据
- mock_dir = Path(__file__).parent / "mock_data"
- with open(mock_dir / "trace_list.json", "r", encoding="utf-8") as f:
- trace_list_data = json.load(f)
- with open(mock_dir / "trace_detail.json", "r", encoding="utf-8") as f:
- trace_detail_data = json.load(f)
- # 读取 HTML 模板
- template_path = Path(__file__).parent / "trace_template.html"
- with open(template_path, "r", encoding="utf-8") as f:
- template_content = f.read()
- html_content = template_content.replace(
- '"__TRACE_LIST_DATA__"',
- json.dumps(trace_list_data, ensure_ascii=False)
- ).replace(
- '"__TRACE_DETAIL_DATA__"',
- json.dumps(trace_detail_data, ensure_ascii=False)
- )
- # 确定输出路径
- if output_path is None:
- output_path = Path(__file__).parent / "trace_visualization.html"
- else:
- output_path = Path(output_path)
- # 写入 HTML 文件
- with open(output_path, 'w', encoding='utf-8') as f:
- f.write(html_content)
- print(f"可视化文件已生成: {output_path}")
- return output_path
- if __name__ == "__main__":
- generate_trace_visualization_html()
|