Companion to the previous commit's positive per-tile readiness check,
carrying the rest of PR #42119's changes onto this base:
- Per-tile readiness timeout logs at WARNING (customer chart-loading
issue, not a system fault -- matching #38130/#38441) with elapsed wait
time, tile index/total, load_wait, and the identity + stuck-state of
each unready chart holder (waiting_on_database / spinner_mounted /
nothing_mounted), then re-raises so the report fails rather than
shipping a blank or spinner tile. A per-tile DEBUG line logs readiness
wait time for profiling.
- The deliberate readiness-timeout re-raise is tracked with an explicit
flag rather than `except PlaywrightTimeout` at the outer level, since
PlaywrightTimeout is aliased to bare Exception when playwright isn't
installed and would otherwise swallow-or-propagate the wrong cases.
- Threads an optional log_context (e.g. "execution_id=<uuid>") from
BaseReportState._get_screenshots through BaseScreenshot.get_screenshot
and both WebDriverProxy implementations into take_tiled_screenshot,
so timeout logs correlate back to the report run. Defaults to None
for callers outside the report pipeline (thumbnails).
Backported from apache/superset#42119 (commits 37da786b52, f6feb70eca,
97d15485ad squashed) onto this branch's base; only the log lines this
change itself adds or touches carry the context suffix -- pre-existing
log lines on this base (f-string style) are left as-is.
Co-Authored-By: Claude <noreply@anthropic.com>