Conversation
| self._ep_device, | ||
| self._ep_config, | ||
| None, | ||
| effective_monitor, |
There was a problem hiding this comment.
This hook is only reached when _session_rebuilt is true, but that predicate compares only provider options and session-config entries. A monitor whose sole contribution is configure_session_options() therefore reuses the old session and never applies its native settings. Please make native monitor configuration participate in the rebuild decision.
| samples_us = entry["samples_us"] | ||
| if self._expected_measured_samples is not None: | ||
| expected_total = self._warmup_samples + self._expected_measured_samples | ||
| if len(samples_us) != expected_total: |
There was a problem hiding this comment.
A CPU fallback node inside Loop or Scan can emit multiple kernel events per top-level inference, so this count can legitimately exceed the perf-window iteration count. The current equality check rejects those valid mixed-provider traces as parse_failed; please account for repeated node executions within each run before validating/removing warmup samples.
Summary
Validation
Fixes #1362