mirror of
https://github.com/python/cpython.git
synced 2026-01-23 23:59:00 +00:00
131 lines
8 KiB
HTML
131 lines
8 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title><!-- FILENAME --> - Heatmap</title>
|
|
<!-- INLINE_CSS -->
|
|
</head>
|
|
<body class="code-view">
|
|
<div class="app-layout">
|
|
<!-- Top Bar (Code Header) -->
|
|
<header class="top-bar">
|
|
<div class="brand">
|
|
<div class="brand-logo"><!-- PYTHON_LOGO --></div>
|
|
<a href="index.html" class="brand-text">Tachyon</a>
|
|
<span class="brand-divider"></span>
|
|
<span class="brand-subtitle" style="font-family: var(--font-mono); font-size: 13px;"><!-- FILENAME --></span>
|
|
</div>
|
|
<div class="toolbar">
|
|
<a href="index.html" class="toolbar-btn" title="Back to Index" aria-label="Back to Index">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
|
<path d="M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L2 8.207V13.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V8.207l.646.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293zM13 7.207V13.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V7.207l5-5z"/>
|
|
</svg>
|
|
</a>
|
|
<a
|
|
class="toolbar-btn"
|
|
href="https://docs.python.org/<!-- PYTHON_VERSION -->/library/profiling.sampling.html"
|
|
target="_blank"
|
|
title="Documentation"
|
|
>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
|
<path d="M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783"/>
|
|
</svg>
|
|
</a>
|
|
<button
|
|
class="toolbar-btn theme-toggle"
|
|
onclick="toggleTheme()"
|
|
title="Toggle theme"
|
|
aria-label="Toggle theme"
|
|
id="theme-btn"
|
|
>
|
|
<svg class="icon-moon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
|
|
<path d="M6 .278a.77.77 0 0 1 .08.858 7.2 7.2 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277q.792-.001 1.533-.16a.79.79 0 0 1 .81.316.73.73 0 0 1-.031.893A8.35 8.35 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.75.75 0 0 1 6 .278M4.858 1.311A7.27 7.27 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.32 7.32 0 0 0 5.205-2.162q-.506.063-1.029.063c-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286"/>
|
|
</svg>
|
|
<svg class="icon-sun" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16" style="display:none">
|
|
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0m9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708"/>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- File Stats Bar -->
|
|
<div class="file-stats">
|
|
<div class="stats-grid">
|
|
<div class="stat-item">
|
|
<div class="stat-value"><!-- TOTAL_SELF_SAMPLES --></div>
|
|
<div class="stat-label">Self Samples</div>
|
|
</div>
|
|
<div class="stat-item">
|
|
<div class="stat-value"><!-- TOTAL_SAMPLES --></div>
|
|
<div class="stat-label">Cumulative</div>
|
|
</div>
|
|
<div class="stat-item">
|
|
<div class="stat-value"><!-- NUM_LINES --></div>
|
|
<div class="stat-label">Lines Hit</div>
|
|
</div>
|
|
<div class="stat-item">
|
|
<div class="stat-value"><!-- PERCENTAGE -->%</div>
|
|
<div class="stat-label">% of Total</div>
|
|
</div>
|
|
<div class="stat-item">
|
|
<div class="stat-value"><!-- MAX_SELF_SAMPLES --></div>
|
|
<div class="stat-label">Max Self</div>
|
|
</div>
|
|
<div class="stat-item">
|
|
<div class="stat-value"><!-- MAX_SAMPLES --></div>
|
|
<div class="stat-label">Max Total</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Legend -->
|
|
<div class="legend">
|
|
<div class="legend-content">
|
|
<span class="legend-title">Intensity:</span>
|
|
<div class="legend-gradient"></div>
|
|
<div class="legend-labels">
|
|
<span>Cold</span>
|
|
<span aria-hidden="true">→</span>
|
|
<span>Hot</span>
|
|
</div>
|
|
<div class="legend-separator" aria-hidden="true"></div>
|
|
<div class="legend-controls">
|
|
<div class="toggle-switch" id="toggle-color-mode" title="Toggle between self time and total time coloring" tabindex="0">
|
|
<span class="toggle-label active" data-text="Self Time">Self Time</span>
|
|
<div class="toggle-track"></div>
|
|
<span class="toggle-label" data-text="Total Time">Total Time</span>
|
|
</div>
|
|
<div class="toggle-switch" id="toggle-cold" title="Toggle visibility of lines with zero samples" tabindex="0">
|
|
<span class="toggle-label active" data-text="Show All">Show All</span>
|
|
<div class="toggle-track"></div>
|
|
<span class="toggle-label" data-text="Hot Only">Hot Only</span>
|
|
</div>
|
|
<div class="toggle-switch" id="toggle-spec-view" title="Color lines by specialization level (requires bytecode data)" tabindex="0">
|
|
<span class="toggle-label active" data-text="Heat">Heat</span>
|
|
<div class="toggle-track"></div>
|
|
<span class="toggle-label" data-text="Specialization">Specialization</span>
|
|
</div>
|
|
<div class="legend-separator" aria-hidden="true"></div>
|
|
<button class="bytecode-expand-all" id="toggle-all-bytecode" title="Expand/collapse all bytecode panels (keyboard: b)">
|
|
<span class="expand-icon" aria-hidden="true">▶</span> Bytecode
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Code Container -->
|
|
<div class="code-container">
|
|
<div class="code-header-row">
|
|
<div class="header-line-number">Line</div>
|
|
<div class="header-samples-self">Self</div>
|
|
<div class="header-samples-cumulative">Total</div>
|
|
<div class="header-content">Code</div>
|
|
</div>
|
|
<!-- CODE_LINES -->
|
|
</div>
|
|
</div>
|
|
|
|
<!-- INLINE_JS -->
|
|
</body>
|
|
</html>
|