Skip to content

Commit f0dc53e

Browse files
Cap every scenario at 5 minutes (sample, not play-to-end)
Apple's bipbop-basic stream is genuinely 30 min long. Play-to-end across all 4 scenarios was running ~85 min/leg — too slow for daily CI. Switched all defaults to `fixed=300` (5 minutes of REAL playback): bipbop-adv:fixed=300 bipbop-basic:fixed=300 big-buck-bunny:fixed=300 akamai-live:fixed=300 5 minutes is enough to verify decode + steady-state events. With the 10-second harvest cycle, that's ~30 harvest cycles per scenario. Total per leg: ~25 min (20 min play + 5 min build/install/boot). Total wall-clock for the matrix (4 legs in parallel): ~25 min. The `end` mode is still in the script for ad-hoc deeper validation; override DEFAULT_SCENARIOS or use the `nr_overrides` input if you specifically need play-to-end on a one-off run. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 099251d commit f0dc53e

2 files changed

Lines changed: 20 additions & 14 deletions

File tree

Examples/iOS/NRSampleApp/README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,16 @@ The simulator stays focused so you can watch + hear playback. Artifacts land in
2222

2323
## What runs by default
2424

25-
| Scenario | Stream | Mode | Duration |
26-
|---|---|---|---|
27-
| bipbop-adv | Apple HLS adaptive | play to natural end | ~10 min |
28-
| bipbop-basic | Apple HLS basic | play to natural end | ~30 min |
29-
| big-buck-bunny | Blender | play to natural end | ~10 min |
30-
| akamai-live | Akamai HLS live | 30 min cap | 30 min |
25+
Each scenario plays for **5 minutes of real playback** (a sample, not full playthrough), then is terminated. Total per leg ≈ 25 min (20 min play + 5 min build/install/boot).
26+
27+
| Scenario | Stream | Cap |
28+
|---|---|---|
29+
| bipbop-adv | Apple HLS adaptive | 5 min |
30+
| bipbop-basic | Apple HLS basic | 5 min |
31+
| big-buck-bunny | Blender | 5 min |
32+
| akamai-live | Akamai HLS live | 5 min |
3133

32-
VOD scenarios run until `didPlayToEnd` (capped at 60 min for safety). Live runs the full 30 min.
34+
5 minutes is enough to verify decode + steady-state events at the configured 10-second harvest cycle (≈30 harvest cycles per scenario). For deeper validation (memory leaks, hour-long stability), tune the cap up via the `nr_overrides` input or edit `DEFAULT_SCENARIOS` in `scripts/run-playback.sh`.
3335

3436
---
3537

Examples/iOS/NRSampleApp/scripts/run-playback.sh

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
# run-playback.sh — automation for the NRSampleApp catalog.
44
#
55
# Builds the app, boots a simulator, and plays every catalog item:
6-
# - VOD: plays to natural didPlayToEnd (capped at VOD_SAFETY_CAP secs)
7-
# - Live: plays for a configured wall-clock duration
6+
# - Each scenario plays for 5 minutes of REAL playback (sample), then is
7+
# terminated. ~25 min total per leg. See DEFAULT_SCENARIOS below.
88
#
99
# Real AVKit playback. Simulator window stays focused. Mid-playback
1010
# screenshot per scenario. Per-scenario log file copied to artifacts.
@@ -166,12 +166,16 @@ echo " appToken=${NEW_RELIC_APP_TOKEN:+(set)}${NEW_RELIC_APP_TOKEN:-(not set)
166166

167167
# ---- Scenarios -------------------------------------------------------------
168168

169-
VOD_SAFETY_CAP=3600
169+
# Every scenario is capped at 5 minutes of REAL playback (a sample, not
170+
# play-to-end). Sampling is enough to verify decode + steady-state events;
171+
# play-to-end of Apple's 30-min bipbop-basic took ~85 min/leg — too slow
172+
# for daily CI.
173+
VOD_SAFETY_CAP=3600 # only used by `end` mode; defaults below use fixed=300
170174
DEFAULT_SCENARIOS=(
171-
"bipbop-adv:end"
172-
"bipbop-basic:end"
173-
"big-buck-bunny:end"
174-
"akamai-live:fixed=1800"
175+
"bipbop-adv:fixed=300"
176+
"bipbop-basic:fixed=300"
177+
"big-buck-bunny:fixed=300"
178+
"akamai-live:fixed=300"
175179
)
176180

177181
if [ -n "${SCENARIOS:-}" ]; then

0 commit comments

Comments
 (0)