(self, start_ms: int | None, end_ms: int | None)
| 1226 | ) |
| 1227 | |
| 1228 | def _normalize_window(self, start_ms: int | None, end_ms: int | None) -> tuple[int, int]: |
| 1229 | default_start, default_end = self.default_window() |
| 1230 | start_tick = default_start if start_ms is None else _align_down(int(start_ms), self.reader.sample_interval_ms) |
| 1231 | end_tick = default_end if end_ms is None else _align_up(int(end_ms), self.reader.sample_interval_ms) |
| 1232 | if end_tick < start_tick: |
| 1233 | start_tick, end_tick = end_tick, start_tick |
| 1234 | return start_tick, end_tick |
| 1235 | |
| 1236 | def _infer_split(self, split: str, thread_ids: Sequence[int], function_ids: Sequence[int]) -> str: |
| 1237 | if split != "auto": |
no test coverage detected