Skip to content

Commit 8801c6d

Browse files
gh-140677 Add heatmap visualization to Tachyon sampling profiler (#140680)
Co-authored-by: Ivona Stojanovic <stojanovic.i@hotmail.com>
1 parent d3c888b commit 8801c6d

File tree

18 files changed

+3939
-326
lines changed

18 files changed

+3939
-326
lines changed

Lib/profiling/sampling/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
from .collector import Collector
88
from .pstats_collector import PstatsCollector
99
from .stack_collector import CollapsedStackCollector
10+
from .heatmap_collector import HeatmapCollector
1011
from .gecko_collector import GeckoCollector
1112
from .string_table import StringTable
1213

13-
__all__ = ("Collector", "PstatsCollector", "CollapsedStackCollector", "GeckoCollector", "StringTable")
14+
__all__ = ("Collector", "PstatsCollector", "CollapsedStackCollector", "HeatmapCollector", "GeckoCollector", "StringTable")
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import importlib.resources
2+
3+
4+
def get_combined_css(component: str) -> str:
5+
template_dir = importlib.resources.files(__package__)
6+
7+
base_css = (template_dir / "_shared_assets" / "base.css").read_text(encoding="utf-8")
8+
9+
if component == "flamegraph":
10+
component_css = (
11+
template_dir / "_flamegraph_assets" / "flamegraph.css"
12+
).read_text(encoding="utf-8")
13+
elif component == "heatmap":
14+
component_css = (template_dir / "_heatmap_assets" / "heatmap.css").read_text(
15+
encoding="utf-8"
16+
)
17+
else:
18+
raise ValueError(
19+
f"Unknown component: {component}. Expected 'flamegraph' or 'heatmap'."
20+
)
21+
22+
return f"{base_css}\n\n{component_css}"

0 commit comments

Comments
 (0)