https://github.com/python/cpython/commit/b4fac15613a16f9cd7b2ee32840523b399f4621f
commit: b4fac15613a16f9cd7b2ee32840523b399f4621f
branch: main
author: Thomas Kowalski <[email protected]>
committer: pablogsal <[email protected]>
date: 2026-03-31T09:57:07+01:00
summary:
gh-145458: use `self.skip_idle` consistently in the tachyon profiler (#145459)
files:
M Lib/profiling/sampling/stack_collector.py
diff --git a/Lib/profiling/sampling/stack_collector.py
b/Lib/profiling/sampling/stack_collector.py
index 05ebe4d9764758..31102d3eb0ffa6 100644
--- a/Lib/profiling/sampling/stack_collector.py
+++ b/Lib/profiling/sampling/stack_collector.py
@@ -19,9 +19,9 @@ def __init__(self, sample_interval_usec, *, skip_idle=False):
self.sample_interval_usec = sample_interval_usec
self.skip_idle = skip_idle
- def collect(self, stack_frames, timestamps_us=None, skip_idle=False):
+ def collect(self, stack_frames, timestamps_us=None):
weight = len(timestamps_us) if timestamps_us else 1
- for frames, thread_id in self._iter_stacks(stack_frames,
skip_idle=skip_idle):
+ for frames, thread_id in self._iter_stacks(stack_frames,
skip_idle=self.skip_idle):
self.process_frames(frames, thread_id, weight=weight)
def process_frames(self, frames, thread_id, weight=1):
@@ -88,7 +88,7 @@ def __init__(self, *args, **kwargs):
# Per-thread statistics
self.per_thread_stats = {} # {thread_id: {has_gil, on_cpu,
gil_requested, unknown, has_exception, total, gc_samples}}
- def collect(self, stack_frames, timestamps_us=None, skip_idle=False):
+ def collect(self, stack_frames, timestamps_us=None):
"""Override to track thread status statistics before processing
frames."""
# Weight is number of timestamps (samples with identical stack)
weight = len(timestamps_us) if timestamps_us else 1
@@ -123,7 +123,7 @@ def collect(self, stack_frames, timestamps_us=None,
skip_idle=False):
self.per_thread_stats[thread_id][key] += value * weight
# Call parent collect to process frames
- super().collect(stack_frames, timestamps_us, skip_idle=skip_idle)
+ super().collect(stack_frames, timestamps_us)
def set_stats(self, sample_interval_usec, duration_sec, sample_rate,
error_rate=None, missed_samples=None, mode=None):
_______________________________________________
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]