https://github.com/python/cpython/commit/e32c9756408a3b88394f687c4f55789a8bd21b73
commit: e32c9756408a3b88394f687c4f55789a8bd21b73
branch: main
author: Pablo Galindo Salgado <[email protected]>
committer: pablogsal <[email protected]>
date: 2025-12-01T18:37:46Z
summary:

gh-138122: Small fixes to the new tachyon UI (#142157)

files:
M Lib/profiling/sampling/flamegraph.js
M Lib/profiling/sampling/flamegraph_template.html

diff --git a/Lib/profiling/sampling/flamegraph.js 
b/Lib/profiling/sampling/flamegraph.js
index 7a2b2ef2e3135e..494d156a8dddfc 100644
--- a/Lib/profiling/sampling/flamegraph.js
+++ b/Lib/profiling/sampling/flamegraph.js
@@ -633,7 +633,9 @@ function populateThreadStats(data, selectedThreadId = null) 
{
     if (gilHeldPctElem) gilHeldPctElem.textContent = 
`${(threadStats.has_gil_pct || 0).toFixed(1)}%`;
 
     const gilReleasedPctElem = document.getElementById('gil-released-pct');
-    if (gilReleasedPctElem) gilReleasedPctElem.textContent = 
`${(threadStats.on_cpu_pct || 0).toFixed(1)}%`;
+    // GIL Released = not holding GIL and not waiting for it
+    const gilReleasedPct = Math.max(0, 100 - (threadStats.has_gil_pct || 0) - 
(threadStats.gil_requested_pct || 0));
+    if (gilReleasedPctElem) gilReleasedPctElem.textContent = 
`${gilReleasedPct.toFixed(1)}%`;
 
     const gilWaitingPctElem = document.getElementById('gil-waiting-pct');
     if (gilWaitingPctElem) gilWaitingPctElem.textContent = 
`${(threadStats.gil_requested_pct || 0).toFixed(1)}%`;
diff --git a/Lib/profiling/sampling/flamegraph_template.html 
b/Lib/profiling/sampling/flamegraph_template.html
index 09b673b76da506..82102c229e7af9 100644
--- a/Lib/profiling/sampling/flamegraph_template.html
+++ b/Lib/profiling/sampling/flamegraph_template.html
@@ -155,7 +155,7 @@ <h3 class="section-title">Runtime Stats</h3>
                   </div>
                   <div class="stat-tile stat-tile--yellow" 
id="gil-waiting-stat">
                     <div class="stat-tile-value" id="gil-waiting-pct">--</div>
-                    <div class="stat-tile-label">Waiting</div>
+                    <div class="stat-tile-label">Waiting GIL</div>
                   </div>
                   <div class="stat-tile stat-tile--purple" id="gc-stat">
                     <div class="stat-tile-value" id="gc-pct">--</div>

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to