From ded43bfbf954f28b048784bd6b614232176186ab Mon Sep 17 00:00:00 2001 From: Joaquin Araujo Date: Mon, 13 Jul 2026 12:55:46 -0300 Subject: [PATCH 1/6] Add coordinator for managing new states on the execution --- .../core/StreamingSliceCoordinator.java | 99 +++++++++++++++++++ .../core/StreamingSliceCoordinatorTest.java | 74 ++++++++++++++ 2 files changed, 173 insertions(+) create mode 100644 src/main/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinator.java create mode 100644 src/test/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinatorTest.java diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinator.java b/src/main/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinator.java new file mode 100644 index 0000000..3180c7e --- /dev/null +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinator.java @@ -0,0 +1,99 @@ +package com.blazemeter.jmeter.videostreaming.core; + +/** + * Per-thread handoff between the Streaming Parallel Controller and the streaming sampler. + * + *

The controller owns the lifecycle ({@link #beginIteration()} / {@link #endIteration()}) and + * the slice deadline; the sampler only reads the deadline (via {@link #shouldYield()} / + * {@link #clampMillis(long)}) and writes a single {@link SliceExit} in a {@code finally} block. + * + *

When no controller is driving the current thread the coordinator behaves as a null object: + * {@link #isActive()} and {@link #shouldYield()} return {@code false} and + * {@link #clampMillis(long)} returns its argument unchanged, so standalone behavior is untouched. + */ +public final class StreamingSliceCoordinator { + + public enum SliceExit { + YIELD, FINISHED, ERROR, INTERRUPTED + } + + private static final class State { + private boolean active; + private boolean newSession; + private long sliceDeadlineNanos = Long.MAX_VALUE; + private SliceExit lastExit; + } + + private static final ThreadLocal STATE = ThreadLocal.withInitial(State::new); + + private StreamingSliceCoordinator() { + } + + /** + * Called by the controller at the start of each of its iterations. Marks the thread as sliced and + * signals a new playback session. + */ + public static void beginIteration() { + State s = STATE.get(); + s.active = true; + s.newSession = true; + s.sliceDeadlineNanos = Long.MAX_VALUE; + s.lastExit = null; + } + + /** Sets the wall-clock (nanoTime) deadline for the next streaming slice. */ + public static void setDeadlineNanos(long deadlineNanos) { + STATE.get().sliceDeadlineNanos = deadlineNanos; + } + + public static boolean isActive() { + return STATE.get().active; + } + + /** Reads and clears the new-session flag. Only meaningful while {@link #isActive()}. */ + public static boolean consumeNewSession() { + State s = STATE.get(); + boolean value = s.newSession; + s.newSession = false; + return value; + } + + /** True when a controller is slicing and the current slice deadline has passed. */ + public static boolean shouldYield() { + State s = STATE.get(); + return s.active && System.nanoTime() >= s.sliceDeadlineNanos; + } + + /** + * Bounds a requested await so the streaming loop never sleeps past the current slice deadline. + * Returns the request unchanged when no controller is active. + */ + public static long clampMillis(long requestedMillis) { + State s = STATE.get(); + if (!s.active) { + return requestedMillis; + } + long remaining = (s.sliceDeadlineNanos - System.nanoTime()) / 1_000_000L; + if (remaining <= 0) { + return 0; + } + return Math.min(requestedMillis, remaining); + } + + public static void setExit(SliceExit exit) { + STATE.get().lastExit = exit; + } + + public static SliceExit getExit() { + return STATE.get().lastExit; + } + + /** Full reset. Called by the controller when its iteration ends and on thread finish. */ + public static void clear() { + State s = STATE.get(); + s.active = false; + s.newSession = false; + s.sliceDeadlineNanos = Long.MAX_VALUE; + s.lastExit = null; + } +} diff --git a/src/test/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinatorTest.java b/src/test/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinatorTest.java new file mode 100644 index 0000000..e745bf0 --- /dev/null +++ b/src/test/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinatorTest.java @@ -0,0 +1,74 @@ +package com.blazemeter.jmeter.videostreaming.core; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.blazemeter.jmeter.videostreaming.core.StreamingSliceCoordinator.SliceExit; +import org.junit.After; +import org.junit.Test; + +public class StreamingSliceCoordinatorTest { + + @After + public void tearDown() { + StreamingSliceCoordinator.clear(); + } + + @Test + public void shouldBehaveAsNullObjectWhenNoControllerIsActive() { + assertThat(StreamingSliceCoordinator.isActive()).isFalse(); + assertThat(StreamingSliceCoordinator.shouldYield()).isFalse(); + assertThat(StreamingSliceCoordinator.clampMillis(1234)).isEqualTo(1234); + } + + @Test + public void shouldBeActiveAndSignalNewSessionAfterBeginIteration() { + StreamingSliceCoordinator.beginIteration(); + assertThat(StreamingSliceCoordinator.isActive()).isTrue(); + assertThat(StreamingSliceCoordinator.consumeNewSession()).isTrue(); + assertThat(StreamingSliceCoordinator.consumeNewSession()).isFalse(); + } + + @Test + public void shouldNotYieldWhenDeadlineIsInTheFuture() { + StreamingSliceCoordinator.beginIteration(); + StreamingSliceCoordinator.setDeadlineNanos(System.nanoTime() + 60_000_000_000L); + assertThat(StreamingSliceCoordinator.shouldYield()).isFalse(); + } + + @Test + public void shouldYieldWhenDeadlineHasPassed() { + StreamingSliceCoordinator.beginIteration(); + StreamingSliceCoordinator.setDeadlineNanos(System.nanoTime() - 1); + assertThat(StreamingSliceCoordinator.shouldYield()).isTrue(); + } + + @Test + public void shouldClampAwaitToRemainingSliceTime() { + StreamingSliceCoordinator.beginIteration(); + StreamingSliceCoordinator.setDeadlineNanos(System.nanoTime() + 50_000_000L); + assertThat(StreamingSliceCoordinator.clampMillis(10_000)).isLessThanOrEqualTo(50); + } + + @Test + public void shouldClampToZeroWhenDeadlineAlreadyPassed() { + StreamingSliceCoordinator.beginIteration(); + StreamingSliceCoordinator.setDeadlineNanos(System.nanoTime() - 1); + assertThat(StreamingSliceCoordinator.clampMillis(10_000)).isEqualTo(0); + } + + @Test + public void shouldStoreAndReturnLastExit() { + StreamingSliceCoordinator.beginIteration(); + StreamingSliceCoordinator.setExit(SliceExit.FINISHED); + assertThat(StreamingSliceCoordinator.getExit()).isEqualTo(SliceExit.FINISHED); + } + + @Test + public void shouldResetStateOnClear() { + StreamingSliceCoordinator.beginIteration(); + StreamingSliceCoordinator.setExit(SliceExit.YIELD); + StreamingSliceCoordinator.clear(); + assertThat(StreamingSliceCoordinator.isActive()).isFalse(); + assertThat(StreamingSliceCoordinator.getExit()).isNull(); + } +} From e43d14a30fd2774a2a47088277aabe3bfe5364be Mon Sep 17 00:00:00 2001 From: Joaquin Araujo Date: Mon, 13 Jul 2026 12:56:36 -0300 Subject: [PATCH 2/6] Add abstraction for maintaining streamings states --- .../videostreaming/core/PlaybackSession.java | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/main/java/com/blazemeter/jmeter/videostreaming/core/PlaybackSession.java diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/core/PlaybackSession.java b/src/main/java/com/blazemeter/jmeter/videostreaming/core/PlaybackSession.java new file mode 100644 index 0000000..f8ca747 --- /dev/null +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/core/PlaybackSession.java @@ -0,0 +1,66 @@ +package com.blazemeter.jmeter.videostreaming.core; + +import java.util.ArrayList; +import java.util.List; + +/** + * Single owner of the playback state that must persist across slices within one controller + * session, so a continuing session does not re-download the master/variant playlists (or manifest) + * or rebuild the per-track playbacks on every slice. + * + *

Parameterized over the protocol-specific playback type {@code P} and top-level document type + * {@code M} (HLS master playlist / DASH manifest) so a single class serves both protocols while the + * owning sampler keeps full type safety. + * + * @param

protocol-specific media playback type + * @param protocol-specific top-level document type (manifest / master playlist) + */ +public class PlaybackSession { + + private boolean initialized; + private P primary; + private final List

complements = new ArrayList<>(); + private M manifest; + + public boolean isInitialized() { + return initialized; + } + + public void setPrimary(P primary) { + this.primary = primary; + } + + public P getPrimary() { + return primary; + } + + public void setComplements(List

playbacks) { + complements.clear(); + complements.addAll(playbacks); + } + + public List

getComplements() { + return complements; + } + + public void setManifest(M manifest) { + this.manifest = manifest; + } + + public M getManifest() { + return manifest; + } + + /** Marks the session as usable for resume. Call only after setup fully succeeds. */ + public void markInitialized() { + this.initialized = true; + } + + /** Releases all retained playback state. Call on real end, error, interrupt or setup failure. */ + public void clear() { + initialized = false; + primary = null; + complements.clear(); + manifest = null; + } +} From c8fd73c45f9598f76277b88d41c301c89feed05c Mon Sep 17 00:00:00 2001 From: Joaquin Araujo Date: Mon, 13 Jul 2026 22:01:52 -0300 Subject: [PATCH 3/6] Improve controller layout --- .../parallel/StreamingParallelController.java | 292 ++++++++++++++++++ .../gui/StreamingParallelControllerGui.java | 69 +++++ .../gui/StreamingParallelControllerPanel.java | 140 +++++++++ .../core/StreamingSliceCoordinatorTest.java | 113 +++++++ .../StreamingParallelControllerTest.java | 191 ++++++++++++ .../StreamingParallelControllerGuiTest.java | 61 ++++ 6 files changed, 866 insertions(+) create mode 100644 src/main/java/com/blazemeter/jmeter/videostreaming/parallel/StreamingParallelController.java create mode 100644 src/main/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerGui.java create mode 100644 src/main/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerPanel.java create mode 100644 src/test/java/com/blazemeter/jmeter/videostreaming/parallel/StreamingParallelControllerTest.java create mode 100644 src/test/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerGuiTest.java diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/StreamingParallelController.java b/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/StreamingParallelController.java new file mode 100644 index 0000000..8073a96 --- /dev/null +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/StreamingParallelController.java @@ -0,0 +1,292 @@ +package com.blazemeter.jmeter.videostreaming.parallel; + +import com.blazemeter.jmeter.videostreaming.core.StreamingSliceCoordinator; +import com.blazemeter.jmeter.videostreaming.core.StreamingSliceCoordinator.SliceExit; +import java.util.function.LongSupplier; +import org.apache.jmeter.control.GenericController; +import org.apache.jmeter.samplers.AbstractSampler; +import org.apache.jmeter.samplers.Entry; +import org.apache.jmeter.samplers.SampleResult; +import org.apache.jmeter.samplers.Sampler; +import org.apache.jmeter.testelement.TestElement; +import org.apache.jmeter.util.JMeterUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Runs a heartbeat branch "in parallel" with a streaming sampler on a single JMeter thread by time + * slicing the streaming playback. + * + *

The streaming sampler (a {@code bzm - Streaming Sampler}) must be a direct child. Every other + * direct child forms the heartbeat branch, which is dispatched once every configured interval while + * playback keeps running in bounded slices in between. This avoids the per-thread cost of the + * JMeter Parallel Controller while still emitting periodic requests during playback. + */ +public class StreamingParallelController extends GenericController { + + public static final String INTERVAL = "StreamingParallelController.interval"; + public static final String RUN_IMMEDIATELY = "StreamingParallelController.runImmediately"; + + private static final Logger LOG = LoggerFactory.getLogger(StreamingParallelController.class); + private static final long NANOS_PER_MILLI = 1_000_000L; + private static final long DEFAULT_INTERVAL_MILLIS = 1000L; + // hard cap to keep interval * NANOS_PER_MILLI well within long range and reject absurd values + private static final long MAX_INTERVAL_MILLIS = 24L * 60L * 60L * 1000L; + private static final long MAX_SLICE_MILLIS = + JMeterUtils.getPropDefault("hls.parallel.max_slice_millis", 5000L); + + private enum Phase { + STREAMING, HEARTBEAT + } + + private transient Sampler streamingSampler; + private transient GenericController heartbeatBranch; + private transient int heartbeatChildCount; + private transient Phase phase; + private transient boolean started; + private transient long intervalMillis; + private transient long dueNanos; + private transient boolean nestedWarned; + private transient boolean pendingMessageEmitted; + private transient LongSupplier nanoClock = System::nanoTime; + + @Override + public void addTestElement(TestElement child) { + if (child instanceof com.blazemeter.jmeter.hls.logic.HlsSampler) { + if (streamingSampler == null) { + streamingSampler = (Sampler) child; + } else { + LOG.warn("StreamingParallelController '{}' has more than one Streaming Sampler as a direct " + + "child; only the first one is used as the primary playback track.", getName()); + } + } else { + heartbeatBranch().addTestElement(child); + heartbeatChildCount++; + } + } + + private GenericController heartbeatBranch() { + if (heartbeatBranch == null) { + heartbeatBranch = new GenericController(); + heartbeatBranch.setName(getName() + " - heartbeat"); + } + return heartbeatBranch; + } + + @Override + public void initialize() { + super.initialize(); + resetIteration(); + if (heartbeatBranch != null) { + heartbeatBranch.initialize(); + } + } + + @Override + protected void reInitialize() { + // a running iteration is being cut short (thread stop / start-next-loop); release slice state + StreamingSliceCoordinator.clear(); + resetIteration(); + super.reInitialize(); + } + + private void resetIteration() { + started = false; + phase = Phase.STREAMING; + dueNanos = 0; + pendingMessageEmitted = false; + setFirst(true); + } + + @Override + public Sampler next() { + if (streamingSampler == null) { + return misconfiguredNext(); + } + + if (!started) { + fireIterEvents(); + if (StreamingSliceCoordinator.isActive()) { + return nestedPassthroughNext(); + } + if (!parseInterval()) { + return invalidIntervalNext(); + } + StreamingSliceCoordinator.beginIteration(); + long now = nowNanos(); + dueNanos = now + (isRunImmediately() ? 0L : intervalMillis * NANOS_PER_MILLI); + phase = Phase.STREAMING; + started = true; + } + + if (phase == Phase.HEARTBEAT) { + Sampler heartbeat = heartbeatBranch.next(); + if (heartbeat != null) { + return heartbeat; + } + dueNanos = nowNanos() + intervalMillis * NANOS_PER_MILLI; + phase = Phase.STREAMING; + } + + SliceExit exit = StreamingSliceCoordinator.getExit(); + if (exit != null && exit != SliceExit.YIELD) { + return endSession(); + } + + long now = nowNanos(); + if (hasHeartbeat() && now >= dueNanos) { + phase = Phase.HEARTBEAT; + Sampler heartbeat = heartbeatBranch.next(); + if (heartbeat != null) { + return heartbeat; + } + dueNanos = now + intervalMillis * NANOS_PER_MILLI; + phase = Phase.STREAMING; + } + + return dispatchStreamingSlice(); + } + + private long nowNanos() { + return nanoClock == null ? System.nanoTime() : nanoClock.getAsLong(); + } + + void setNanoClock(LongSupplier clock) { + this.nanoClock = clock; + } + + private Sampler dispatchStreamingSlice() { + long now = nowNanos(); + // when there is no heartbeat branch there is nothing to interleave, so let playback run whole + long deadline = hasHeartbeat() + ? Math.min(dueNanos, now + MAX_SLICE_MILLIS * NANOS_PER_MILLI) + : Long.MAX_VALUE; + StreamingSliceCoordinator.setDeadlineNanos(deadline); + StreamingSliceCoordinator.setExit(null); + return streamingSampler; + } + + private Sampler endSession() { + StreamingSliceCoordinator.clear(); + resetIteration(); + return null; + } + + private boolean hasHeartbeat() { + return heartbeatChildCount > 0; + } + + private boolean parseInterval() { + String raw = getPropertyAsString(INTERVAL, "").trim(); + if (raw.isEmpty()) { + intervalMillis = DEFAULT_INTERVAL_MILLIS; + return true; + } + double seconds; + try { + seconds = Double.parseDouble(raw); + } catch (NumberFormatException e) { + LOG.error("StreamingParallelController '{}' has an invalid interval '{}'; expected a " + + "positive number of seconds.", getName(), raw); + return false; + } + if (!(seconds > 0) || Double.isInfinite(seconds)) { + LOG.error("StreamingParallelController '{}' interval must be greater than zero but was '{}'.", + getName(), raw); + return false; + } + long millis = Math.round(seconds * 1000d); + if (millis <= 0) { + millis = DEFAULT_INTERVAL_MILLIS; + } + if (millis > MAX_INTERVAL_MILLIS) { + LOG.warn("StreamingParallelController '{}' interval '{}' exceeds the {} ms maximum; " + + "clamping.", getName(), raw, MAX_INTERVAL_MILLIS); + millis = MAX_INTERVAL_MILLIS; + } + intervalMillis = millis; + return true; + } + + private Sampler misconfiguredNext() { + if (!pendingMessageEmitted) { + pendingMessageEmitted = true; + return new MessageSampler(getName(), + "StreamingParallelController: no Streaming Sampler found as a direct child. Add a " + + "'bzm - Streaming Sampler' directly under this controller."); + } + // still run any heartbeat children once so their configuration is not silently dropped + Sampler heartbeat = heartbeatBranch != null ? heartbeatBranch.next() : null; + if (heartbeat == null) { + pendingMessageEmitted = false; + } + return heartbeat; + } + + private Sampler invalidIntervalNext() { + if (!pendingMessageEmitted) { + pendingMessageEmitted = true; + return new MessageSampler(getName(), + "StreamingParallelController: invalid interval '" + getPropertyAsString(INTERVAL, "") + + "'. Set a positive number of seconds."); + } + resetIteration(); + return null; + } + + private Sampler nestedPassthroughNext() { + if (!nestedWarned) { + LOG.warn("StreamingParallelController '{}' is nested inside another sliced controller; " + + "nesting is not supported. Running its children without independent slicing.", + getName()); + nestedWarned = true; + } + if (!pendingMessageEmitted) { + pendingMessageEmitted = true; + return streamingSampler; + } + Sampler heartbeat = heartbeatBranch != null ? heartbeatBranch.next() : null; + if (heartbeat == null) { + resetIteration(); + } + return heartbeat; + } + + public String getInterval() { + return getPropertyAsString(INTERVAL, ""); + } + + public void setInterval(String interval) { + setProperty(INTERVAL, interval); + } + + public boolean isRunImmediately() { + return getPropertyAsBoolean(RUN_IMMEDIATELY, false); + } + + public void setRunImmediately(boolean runImmediately) { + setProperty(RUN_IMMEDIATELY, runImmediately); + } + + private static class MessageSampler extends AbstractSampler { + + private final String message; + + MessageSampler(String name, String message) { + setName(name); + this.message = message; + } + + @Override + public SampleResult sample(Entry e) { + SampleResult result = new SampleResult(); + result.setSampleLabel(getName()); + result.sampleStart(); + result.sampleEnd(); + result.setSuccessful(false); + result.setResponseCode("500"); + result.setResponseMessage(message); + return result; + } + } +} diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerGui.java b/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerGui.java new file mode 100644 index 0000000..38e1008 --- /dev/null +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerGui.java @@ -0,0 +1,69 @@ +package com.blazemeter.jmeter.videostreaming.parallel.gui; + +import com.blazemeter.jmeter.videostreaming.parallel.StreamingParallelController; +import com.google.common.annotations.VisibleForTesting; +import java.awt.BorderLayout; +import org.apache.jmeter.control.gui.AbstractControllerGui; +import org.apache.jmeter.testelement.TestElement; + +public class StreamingParallelControllerGui extends AbstractControllerGui { + + private final StreamingParallelControllerPanel panel; + + public StreamingParallelControllerGui() { + this(new StreamingParallelControllerPanel()); + } + + @VisibleForTesting + StreamingParallelControllerGui(StreamingParallelControllerPanel panel) { + this.panel = panel; + setLayout(new BorderLayout(0, 5)); + setBorder(makeBorder()); + add(makeTitlePanel(), BorderLayout.NORTH); + add(panel, BorderLayout.CENTER); + } + + @Override + public String getStaticLabel() { + return "bzm - Streaming Parallel Controller"; + } + + @Override + public String getLabelResource() { + throw new IllegalStateException("This shouldn't be called"); + } + + @Override + public TestElement createTestElement() { + StreamingParallelController controller = new StreamingParallelController(); + modifyTestElement(controller); + return controller; + } + + @Override + public void configure(TestElement element) { + super.configure(element); + if (element instanceof StreamingParallelController) { + StreamingParallelController controller = (StreamingParallelController) element; + panel.setInterval(controller.getInterval()); + panel.setRunImmediately(controller.isRunImmediately()); + } + } + + @Override + public void modifyTestElement(TestElement element) { + configureTestElement(element); + if (element instanceof StreamingParallelController) { + StreamingParallelController controller = (StreamingParallelController) element; + controller.setInterval(panel.getInterval()); + controller.setRunImmediately(panel.isRunImmediately()); + } + } + + @Override + public void clearGui() { + super.clearGui(); + panel.setInterval(""); + panel.setRunImmediately(false); + } +} diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerPanel.java b/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerPanel.java new file mode 100644 index 0000000..ecf1fd0 --- /dev/null +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerPanel.java @@ -0,0 +1,140 @@ +package com.blazemeter.jmeter.videostreaming.parallel.gui; + +import com.blazemeter.jmeter.commons.BlazemeterLabsLogo; +import java.awt.BorderLayout; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; +import javax.swing.BorderFactory; +import javax.swing.JCheckBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextArea; +import javax.swing.JTextField; + +public class StreamingParallelControllerPanel extends JPanel { + + private static final String PLUGIN_REPOSITORY_URL = "https://github.com/Blazemeter/HLSPlugin"; + private static final String HELP_TEXT = + "Runs a heartbeat branch in parallel with a streaming playback on a single thread.\n\n" + + "How to use:\n" + + "- Add a 'bzm - Streaming Sampler' as a DIRECT child of this controller (the playback " + + "track).\n" + + "- Add the periodic requests (the heartbeat) as the remaining children. They may be " + + "grouped under Transaction/Logic controllers.\n" + + "- Set the heartbeat interval (in seconds). The heartbeat branch runs once every " + + "interval while playback continues in between.\n\n" + "Notes:\n" + + "- Do not add Timers to the heartbeat branch: they block the shared thread and add " + + "drift.\n" + + "- Heartbeat and playback share one thread, so a slow heartbeat delays segment " + + "polling."; + + private final JTextField intervalField = new JTextField(); + private final JCheckBox runImmediatelyBox = new JCheckBox( + "Run heartbeat immediately (do not wait the first interval)"); + + public StreamingParallelControllerPanel() { + setLayout(new GridBagLayout()); + buildLayout(); + } + + public String getInterval() { + return intervalField.getText(); + } + + public void setInterval(String interval) { + intervalField.setText(interval); + } + + public boolean isRunImmediately() { + return runImmediatelyBox.isSelected(); + } + + public void setRunImmediately(boolean runImmediately) { + runImmediatelyBox.setSelected(runImmediately); + } + + private void buildLayout() { + add(buildSettingsPanel(), constraintsForTopSection(0)); + add(buildHelpPanel(), constraintsForTopSection(1)); + add(new BlazemeterLabsLogo(PLUGIN_REPOSITORY_URL), constraintsForBottomLogo(2)); + add(new JPanel(), constraintsForFlexibleBottomFiller(3)); + } + + private GridBagConstraints constraintsForTopSection(int row) { + GridBagConstraints constraints = new GridBagConstraints(); + constraints.gridx = 0; + constraints.gridy = row; + constraints.weightx = 1; + constraints.fill = GridBagConstraints.HORIZONTAL; + constraints.anchor = GridBagConstraints.NORTHWEST; + constraints.insets = new Insets(0, 0, 6, 0); + return constraints; + } + + private GridBagConstraints constraintsForBottomLogo(int row) { + GridBagConstraints constraints = new GridBagConstraints(); + constraints.gridx = 0; + constraints.gridy = row; + constraints.weightx = 1; + constraints.fill = GridBagConstraints.NONE; + constraints.anchor = GridBagConstraints.CENTER; + return constraints; + } + + private GridBagConstraints constraintsForFlexibleBottomFiller(int row) { + GridBagConstraints constraints = new GridBagConstraints(); + constraints.gridx = 0; + constraints.gridy = row; + constraints.weightx = 1; + constraints.weighty = 1; + constraints.fill = GridBagConstraints.BOTH; + return constraints; + } + + private JPanel buildSettingsPanel() { + JPanel settings = new JPanel(new GridBagLayout()); + settings.setBorder(BorderFactory.createTitledBorder("Heartbeat settings")); + + GridBagConstraints labelConstraints = new GridBagConstraints(); + labelConstraints.gridx = 0; + labelConstraints.gridy = 0; + labelConstraints.anchor = GridBagConstraints.WEST; + labelConstraints.insets = new Insets(2, 2, 2, 5); + + GridBagConstraints fieldConstraints = new GridBagConstraints(); + fieldConstraints.gridx = 1; + fieldConstraints.gridy = 0; + fieldConstraints.weightx = 1; + fieldConstraints.fill = GridBagConstraints.HORIZONTAL; + fieldConstraints.insets = new Insets(2, 2, 2, 2); + + settings.add(new JLabel("Heartbeat interval (seconds):"), labelConstraints); + intervalField.setName("intervalField"); + settings.add(intervalField, fieldConstraints); + + GridBagConstraints checkConstraints = new GridBagConstraints(); + checkConstraints.gridx = 0; + checkConstraints.gridy = 1; + checkConstraints.gridwidth = 2; + checkConstraints.anchor = GridBagConstraints.WEST; + checkConstraints.insets = new Insets(2, 2, 2, 2); + runImmediatelyBox.setName("runImmediatelyBox"); + settings.add(runImmediatelyBox, checkConstraints); + return settings; + } + + private JPanel buildHelpPanel() { + JPanel help = new JPanel(new BorderLayout()); + help.setBorder(BorderFactory.createTitledBorder("How it works")); + JTextArea helpArea = new JTextArea(HELP_TEXT); + helpArea.setEditable(false); + helpArea.setLineWrap(true); + helpArea.setWrapStyleWord(true); + helpArea.setOpaque(false); + helpArea.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); + help.add(helpArea, BorderLayout.CENTER); + return help; + } + +} diff --git a/src/test/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinatorTest.java b/src/test/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinatorTest.java index e745bf0..21a3c82 100644 --- a/src/test/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinatorTest.java +++ b/src/test/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinatorTest.java @@ -71,4 +71,117 @@ public void shouldResetStateOnClear() { assertThat(StreamingSliceCoordinator.isActive()).isFalse(); assertThat(StreamingSliceCoordinator.getExit()).isNull(); } + + @Test + public void shouldEnforceDeadlineWhenSamplerLoopsOnYield() { + StreamingSliceCoordinator.beginIteration(); + long sliceDurationNanos = 100_000_000L; // 100ms + long deadline = System.nanoTime() + sliceDurationNanos; + StreamingSliceCoordinator.setDeadlineNanos(deadline); + + int iterations = 0; + while (!StreamingSliceCoordinator.shouldYield() && iterations < 1000) { + iterations++; + busyWaitNanos(5_000_000L); // 5ms busy wait + } + + long elapsed = System.nanoTime() - (deadline - sliceDurationNanos); + assertThat(elapsed).isGreaterThanOrEqualTo(sliceDurationNanos); + assertThat(StreamingSliceCoordinator.shouldYield()).isTrue(); + } + + @Test + public void shouldPreserveNewSessionFlagAcrossMultipleSlices() { + StreamingSliceCoordinator.beginIteration(); + boolean firstNewSession = StreamingSliceCoordinator.consumeNewSession(); + assertThat(firstNewSession).isTrue(); + + long deadline = System.nanoTime() + 1_000_000_000L; + StreamingSliceCoordinator.setDeadlineNanos(deadline); + + boolean secondNewSession = StreamingSliceCoordinator.consumeNewSession(); + assertThat(secondNewSession).isFalse(); + + deadline = System.nanoTime() - 1; + StreamingSliceCoordinator.setDeadlineNanos(deadline); + StreamingSliceCoordinator.setExit(SliceExit.YIELD); + + boolean thirdNewSession = StreamingSliceCoordinator.consumeNewSession(); + assertThat(thirdNewSession).isFalse(); + } + + @Test + public void shouldRespectClampWhenAwaitingPlaylistRefresh() { + StreamingSliceCoordinator.beginIteration(); + long sliceDurationNanos = 50_000_000L; // 50ms + long deadline = System.nanoTime() + sliceDurationNanos; + StreamingSliceCoordinator.setDeadlineNanos(deadline); + + long requestedMillis = 1000; + long clamped = StreamingSliceCoordinator.clampMillis(requestedMillis); + + assertThat(clamped).isGreaterThan(0).isLessThan(requestedMillis); + + busyWaitNanos(clamped * 1_000_000L); + + long remaining = (deadline - System.nanoTime()) / 1_000_000L; + assertThat(remaining).isLessThanOrEqualTo(10); + } + + @Test + public void shouldSignalYieldExitWhenSliceEnds() { + StreamingSliceCoordinator.beginIteration(); + long deadline = System.nanoTime() + 50_000_000L; + StreamingSliceCoordinator.setDeadlineNanos(deadline); + + while (!StreamingSliceCoordinator.shouldYield()) { + busyWaitNanos(10_000_000L); + } + + StreamingSliceCoordinator.setExit(SliceExit.YIELD); + assertThat(StreamingSliceCoordinator.getExit()).isEqualTo(SliceExit.YIELD); + } + + @Test + public void shouldResetExitOnNewSliceStart() { + StreamingSliceCoordinator.beginIteration(); + StreamingSliceCoordinator.setExit(SliceExit.FINISHED); + + StreamingSliceCoordinator.setDeadlineNanos(System.nanoTime() + 100_000_000L); + StreamingSliceCoordinator.setExit(null); + + assertThat(StreamingSliceCoordinator.getExit()).isNull(); + } + + @Test + public void shouldIntegrateSamplerYieldLoopWithControllerSlicing() { + StreamingSliceCoordinator.beginIteration(); + assertThat(StreamingSliceCoordinator.consumeNewSession()).isTrue(); + + SliceExit[] exits = {SliceExit.YIELD, SliceExit.FINISHED}; + for (int sliceIndex = 0; sliceIndex < exits.length; sliceIndex++) { + long sliceDeadline = System.nanoTime() + 30_000_000L; // 30ms slice + StreamingSliceCoordinator.setDeadlineNanos(sliceDeadline); + StreamingSliceCoordinator.setExit(null); + + while (!StreamingSliceCoordinator.shouldYield()) { + busyWaitNanos(5_000_000L); + } + + StreamingSliceCoordinator.setExit(exits[sliceIndex]); + + if (sliceIndex == 0) { + assertThat(StreamingSliceCoordinator.getExit()).isEqualTo(SliceExit.YIELD); + assertThat(StreamingSliceCoordinator.consumeNewSession()).isFalse(); + } + } + assertThat(StreamingSliceCoordinator.getExit()).isEqualTo(SliceExit.FINISHED); + } + + private void busyWaitNanos(long nanos) { + long start = System.nanoTime(); + while (System.nanoTime() - start < nanos) { + // spin + } + } } diff --git a/src/test/java/com/blazemeter/jmeter/videostreaming/parallel/StreamingParallelControllerTest.java b/src/test/java/com/blazemeter/jmeter/videostreaming/parallel/StreamingParallelControllerTest.java new file mode 100644 index 0000000..cb8ea37 --- /dev/null +++ b/src/test/java/com/blazemeter/jmeter/videostreaming/parallel/StreamingParallelControllerTest.java @@ -0,0 +1,191 @@ +package com.blazemeter.jmeter.videostreaming.parallel; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.blazemeter.jmeter.JMeterTestUtils; +import com.blazemeter.jmeter.videostreaming.core.StreamingSliceCoordinator; +import com.blazemeter.jmeter.videostreaming.core.StreamingSliceCoordinator.SliceExit; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Deque; +import java.util.List; +import java.util.concurrent.atomic.AtomicLong; +import org.apache.jmeter.samplers.AbstractSampler; +import org.apache.jmeter.samplers.Entry; +import org.apache.jmeter.samplers.SampleResult; +import org.apache.jmeter.samplers.Sampler; +import org.junit.After; +import org.junit.BeforeClass; +import org.junit.Test; + +public class StreamingParallelControllerTest { + + private static final long SECOND_NANOS = 1_000_000_000L; + + @BeforeClass + public static void setupClass() { + JMeterTestUtils.setupJmeterEnv(); + } + + @After + public void tearDown() { + StreamingSliceCoordinator.clear(); + } + + private StreamingParallelController controller(String interval, boolean runImmediately) { + StreamingParallelController controller = new StreamingParallelController(); + controller.setName("SPC"); + controller.setInterval(interval); + controller.setRunImmediately(runImmediately); + return controller; + } + + private List drive(StreamingParallelController controller, + FakeStreamingSampler streaming, int maxSteps) { + List emitted = new ArrayList<>(); + for (int i = 0; i < maxSteps; i++) { + Sampler next = controller.next(); + if (next == null) { + emitted.add("NULL"); + break; + } + emitted.add(next.getName()); + if (next == streaming) { + streaming.sample(); + } + } + return emitted; + } + + @Test + public void shouldPlayWholeStreamInSingleSliceWhenNoHeartbeat() { + StreamingParallelController controller = controller("10", false); + FakeStreamingSampler streaming = new FakeStreamingSampler(); + streaming.script.add(SliceExit.FINISHED); + controller.addTestElement(streaming); + + List emitted = drive(controller, streaming, 10); + + assertThat(emitted).containsExactly("stream", "NULL"); + assertThat(streaming.sampleCalls).isEqualTo(1); + } + + @Test + public void shouldKeepStreamingAcrossYieldsUntilFinished() { + StreamingParallelController controller = controller("100", false); + FakeStreamingSampler streaming = new FakeStreamingSampler(); + streaming.script.add(SliceExit.YIELD); + streaming.script.add(SliceExit.YIELD); + streaming.script.add(SliceExit.FINISHED); + controller.addTestElement(streaming); + + List emitted = drive(controller, streaming, 10); + + assertThat(emitted).containsExactly("stream", "stream", "stream", "NULL"); + assertThat(streaming.sampleCalls).isEqualTo(3); + } + + @Test + public void shouldRunHeartbeatFirstWhenRunImmediatelyEnabled() { + StreamingParallelController controller = controller("10", true); + FakeStreamingSampler streaming = new FakeStreamingSampler(); + streaming.script.add(SliceExit.FINISHED); + controller.addTestElement(streaming); + controller.addTestElement(new NamedSampler("hb")); + + List emitted = drive(controller, streaming, 10); + + assertThat(emitted).containsExactly("hb", "stream", "NULL"); + } + + @Test + public void shouldDispatchHeartbeatOnlyAfterIntervalElapses() { + StreamingParallelController controller = controller("10", false); + AtomicLong clock = new AtomicLong(0); + controller.setNanoClock(clock::get); + FakeStreamingSampler streaming = new FakeStreamingSampler(); + streaming.script.add(SliceExit.YIELD); + streaming.script.add(SliceExit.YIELD); + streaming.script.add(SliceExit.FINISHED); + controller.addTestElement(streaming); + controller.addTestElement(new NamedSampler("hb")); + + List emitted = new ArrayList<>(); + emitted.add(step(controller, streaming)); + emitted.add(step(controller, streaming)); + clock.set(11 * SECOND_NANOS); + emitted.add(step(controller, streaming)); + emitted.add(step(controller, streaming)); + emitted.add(step(controller, streaming)); + + assertThat(emitted).containsExactly("stream", "stream", "hb", "stream", "NULL"); + } + + @Test + public void shouldEmitFailedSampleWhenNoStreamingChild() { + StreamingParallelController controller = controller("10", false); + controller.addTestElement(new NamedSampler("hb")); + + Sampler first = controller.next(); + SampleResult result = first.sample(null); + + assertThat(result.isSuccessful()).isFalse(); + assertThat(controller.next().getName()).isEqualTo("hb"); + assertThat(controller.next()).isNull(); + } + + @Test + public void shouldEmitFailedSampleWhenIntervalIsInvalid() { + StreamingParallelController controller = controller("not-a-number", false); + FakeStreamingSampler streaming = new FakeStreamingSampler(); + controller.addTestElement(streaming); + + Sampler first = controller.next(); + SampleResult result = first.sample(null); + + assertThat(result.isSuccessful()).isFalse(); + assertThat(controller.next()).isNull(); + } + + private String step(StreamingParallelController controller, FakeStreamingSampler streaming) { + Sampler next = controller.next(); + if (next == null) { + return "NULL"; + } + if (next == streaming) { + streaming.sample(); + } + return next.getName(); + } + + private static class FakeStreamingSampler extends com.blazemeter.jmeter.hls.logic.HlsSampler { + + private final Deque script = new ArrayDeque<>(); + private int sampleCalls; + + private FakeStreamingSampler() { + super(null, null, null, null); + setName("stream"); + } + + @Override + public SampleResult sample() { + sampleCalls++; + SliceExit exit = script.isEmpty() ? SliceExit.FINISHED : script.poll(); + StreamingSliceCoordinator.setExit(exit); + return null; + } + } + + private static class NamedSampler extends AbstractSampler { + + private NamedSampler(String name) { + setName(name); + } + + @Override + public SampleResult sample(Entry e) { + return null; + } + } +} diff --git a/src/test/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerGuiTest.java b/src/test/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerGuiTest.java new file mode 100644 index 0000000..023fec8 --- /dev/null +++ b/src/test/java/com/blazemeter/jmeter/videostreaming/parallel/gui/StreamingParallelControllerGuiTest.java @@ -0,0 +1,61 @@ +package com.blazemeter.jmeter.videostreaming.parallel.gui; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.blazemeter.jmeter.JMeterTestUtils; +import com.blazemeter.jmeter.SwingTestRunner; +import com.blazemeter.jmeter.videostreaming.parallel.StreamingParallelController; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(SwingTestRunner.class) +public class StreamingParallelControllerGuiTest { + + private StreamingParallelControllerGui gui; + + @BeforeClass + public static void setupClass() { + JMeterTestUtils.setupJmeterEnv(); + } + + @Before + public void setUp() { + gui = new StreamingParallelControllerGui(); + } + + @Test + public void shouldCreateStreamingParallelController() { + assertThat(gui.createTestElement()).isInstanceOf(StreamingParallelController.class); + } + + @Test + public void shouldPreservePropertiesWhenConfiguringAndModifying() { + StreamingParallelController source = new StreamingParallelController(); + source.setInterval("30"); + source.setRunImmediately(true); + gui.configure(source); + + StreamingParallelController target = new StreamingParallelController(); + gui.modifyTestElement(target); + + assertThat(target.getInterval()).isEqualTo("30"); + assertThat(target.isRunImmediately()).isTrue(); + } + + @Test + public void shouldResetPropertiesWhenClearingGui() { + StreamingParallelController source = new StreamingParallelController(); + source.setInterval("30"); + source.setRunImmediately(true); + gui.configure(source); + + gui.clearGui(); + + StreamingParallelController target = new StreamingParallelController(); + gui.modifyTestElement(target); + assertThat(target.getInterval()).isEmpty(); + assertThat(target.isRunImmediately()).isFalse(); + } +} From 7c53b3ab49fc21053fa6864a64935b14da509368 Mon Sep 17 00:00:00 2001 From: Joaquin Araujo Date: Mon, 13 Jul 2026 22:11:47 -0300 Subject: [PATCH 4/6] Honor videostreaming mandate controller in each protocol --- .../jmeter/hls/logic/HlsSampler.java | 19 ++- .../videostreaming/dash/DashSampler.java | 144 ++++++++++++------ .../jmeter/videostreaming/hls/HlsSampler.java | 135 ++++++++++------ .../jmeter/StreamingParallelController.jmx | 104 +++++++++++++ 4 files changed, 308 insertions(+), 94 deletions(-) create mode 100644 src/test/resources/jmeter/StreamingParallelController.jmx diff --git a/src/main/java/com/blazemeter/jmeter/hls/logic/HlsSampler.java b/src/main/java/com/blazemeter/jmeter/hls/logic/HlsSampler.java index f8b87d9..0c8c311 100755 --- a/src/main/java/com/blazemeter/jmeter/hls/logic/HlsSampler.java +++ b/src/main/java/com/blazemeter/jmeter/hls/logic/HlsSampler.java @@ -2,6 +2,7 @@ import com.blazemeter.jmeter.videostreaming.core.Protocol; import com.blazemeter.jmeter.videostreaming.core.SampleResultProcessor; +import com.blazemeter.jmeter.videostreaming.core.StreamingSliceCoordinator; import com.blazemeter.jmeter.videostreaming.core.TimeMachine; import com.blazemeter.jmeter.videostreaming.core.Variants; import com.blazemeter.jmeter.videostreaming.core.VariantsProvider; @@ -278,6 +279,10 @@ public SampleResult sample() { } String url = getMasterUrl(); + boolean active = StreamingSliceCoordinator.isActive(); + // consume the new-session flag once here; the protocol sampler decides setup vs resume purely + // from whether its playback session is still initialized + boolean newSession = active && StreamingSliceCoordinator.consumeNewSession(); if (!url.equals(lastMasterUrl)) { try { sampler = factory @@ -285,8 +290,17 @@ public SampleResult sample() { } catch (IllegalArgumentException e) { LOG.error("Error initializing the sampler", e); } - } else if (!this.getResumeVideoStatus()) { - sampler.resetVideoStatus(); + } else if (!active) { + if (!this.getResumeVideoStatus()) { + sampler.resetVideoStatus(); + } + } else if (newSession) { + // new controller iteration on the same URL: honor the resume checkbox across iterations and + // drop any cached playlists/manifest so the session starts fresh + if (!this.getResumeVideoStatus()) { + sampler.resetVideoStatus(); + } + sampler.clearPlaybackSession(); } lastMasterUrl = url; return sampler.sample(); @@ -317,6 +331,7 @@ public boolean interrupt() { @Override public void threadFinished() { + StreamingSliceCoordinator.clear(); httpClient.threadFinished(); } diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/dash/DashSampler.java b/src/main/java/com/blazemeter/jmeter/videostreaming/dash/DashSampler.java index e78248b..2305083 100644 --- a/src/main/java/com/blazemeter/jmeter/videostreaming/dash/DashSampler.java +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/dash/DashSampler.java @@ -4,7 +4,9 @@ import com.blazemeter.jmeter.hls.logic.HlsSampler; import com.blazemeter.jmeter.hls.logic.ResolutionSelector; import com.blazemeter.jmeter.videostreaming.core.MediaStreamSelector; +import com.blazemeter.jmeter.videostreaming.core.PlaybackSession; import com.blazemeter.jmeter.videostreaming.core.SampleResultProcessor; +import com.blazemeter.jmeter.videostreaming.core.StreamingSliceCoordinator; import com.blazemeter.jmeter.videostreaming.core.TimeMachine; import com.blazemeter.jmeter.videostreaming.core.Variants; import com.blazemeter.jmeter.videostreaming.core.VideoStreamSelector; @@ -18,6 +20,7 @@ import java.time.Duration; import java.time.Instant; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -26,67 +29,101 @@ public class DashSampler extends VideoStreamingSampler { + // Persisted playback state across slices. complements are stored in a fixed order + // [video, audio, subtitles] so a continuing session can rebuild the loop tracks and resume + // segments without re-downloading the manifest. + private final transient PlaybackSession session = + new PlaybackSession<>(); + public DashSampler(HlsSampler baseSampler, VideoStreamingHttpClient httpClient, TimeMachine timeMachine, SampleResultProcessor sampleResultProcessor) { super(baseSampler, httpClient, timeMachine, sampleResultProcessor); } + @Override + public void clearPlaybackSession() { + session.clear(); + } + public void sample(URI masterUri, BandwidthSelector bandwidthSelector, ResolutionSelector resolutionSelector, String audioLanguage, String subtitleLanguage, int playSeconds) throws PlaylistDownloadException, PlaylistParsingException, InterruptedException { - Manifest manifest = downloadPlaylist(masterUri, p -> MASTER_TYPE_NAME, - Manifest::fromUriAndBody); - - // we update masterUri in case the request was redirected - masterUri = manifest.getUri(); - - MediaStreamSelector alternativeMediaSelector = - new MediaStreamSelector() { - @Override - public MediaRepresentation findMatchingVariant(List variants) { - return findVariantPerAttribute(MediaRepresentation::getBandwidth, bandwidthSelector, - variants); - } - }; - - MediaPlayback videoPlayback = new MediaPlayback(manifest, VIDEO_TYPE_NAME, - new VideoStreamSelector<>(bandwidthSelector, MediaRepresentation::getBandwidth, - resolutionSelector, MediaRepresentation::getResolution), - null, lastVideoSegment, playSeconds); - MediaPlayback audioPlayback = new MediaPlayback(manifest, AUDIO_TYPE_NAME, - alternativeMediaSelector, audioLanguage, lastAudioSegment, playSeconds); - MediaPlayback subtitlesPlayback = new MediaPlayback(manifest, SUBTITLES_TYPE_NAME, - alternativeMediaSelector, subtitleLanguage, lastSubtitleSegment, playSeconds); - - // check whether is a video or audio playback - MediaPlayback mediaPlayback = videoPlayback.hasContents() ? videoPlayback : audioPlayback; + boolean active = StreamingSliceCoordinator.isActive(); + boolean continuingSession = active && session.isInitialized(); + + Manifest manifest; + MediaPlayback videoPlayback; + MediaPlayback audioPlayback; + MediaPlayback subtitlesPlayback; + MediaPlayback mediaPlayback; + + if (continuingSession) { + manifest = session.getManifest(); + masterUri = manifest.getUri(); + videoPlayback = session.getComplements().get(0); + audioPlayback = session.getComplements().get(1); + subtitlesPlayback = session.getComplements().get(2); + mediaPlayback = session.getPrimary(); + } else { + manifest = downloadPlaylist(masterUri, p -> MASTER_TYPE_NAME, Manifest::fromUriAndBody); + + // we update masterUri in case the request was redirected + masterUri = manifest.getUri(); + + MediaStreamSelector alternativeMediaSelector = buildMediaSelector( + bandwidthSelector); + + videoPlayback = new MediaPlayback(manifest, VIDEO_TYPE_NAME, + new VideoStreamSelector<>(bandwidthSelector, MediaRepresentation::getBandwidth, + resolutionSelector, MediaRepresentation::getResolution), null, lastVideoSegment, + playSeconds); + audioPlayback = new MediaPlayback(manifest, AUDIO_TYPE_NAME, alternativeMediaSelector, + audioLanguage, lastAudioSegment, playSeconds); + subtitlesPlayback = new MediaPlayback(manifest, SUBTITLES_TYPE_NAME, alternativeMediaSelector, + subtitleLanguage, lastSubtitleSegment, playSeconds); + + // check whether is a video or audio playback + mediaPlayback = videoPlayback.hasContents() ? videoPlayback : audioPlayback; + + if (active) { + session.setManifest(manifest); + session.setPrimary(mediaPlayback); + session.setComplements(Arrays.asList(videoPlayback, audioPlayback, subtitlesPlayback)); + session.markInitialized(); + } + } + List complementTracks = new ArrayList<>(); if (mediaPlayback == videoPlayback) { complementTracks.add(audioPlayback); } complementTracks.add(subtitlesPlayback); + + boolean finished = false; try { /* we use this variable to avoid requesting manifest before even trying downloading segments due - to potential low min update period and time taken downloading and processing manifest + to potential low min update period and time taken downloading and processing manifest. + On a continuing session we already downloaded segments in a previous slice, so we allow a + manifest refresh immediately when needed. */ - boolean initialLoop = true; - while (!mediaPlayback.hasEnded()) { + boolean initialLoop = !continuingSession; + while (!mediaPlayback.hasEnded() && !shouldYieldForSlice()) { if (mediaPlayback.needsManifestUpdate() && !initialLoop) { long awaitMillis = manifest.getReloadTimeMillis( - mediaPlayback.getLastSegment().getDurationMillis(), - timeMachine.now() - ); + mediaPlayback.getLastSegment().getDurationMillis(), timeMachine.now()); if (awaitMillis > 0) { - timeMachine.awaitMillis(awaitMillis); + timeMachine.awaitMillis(clampAwaitMillis(awaitMillis)); } - manifest = downloadPlaylist(masterUri, p -> MASTER_TYPE_NAME, - Manifest::fromUriAndBody); + manifest = downloadPlaylist(masterUri, p -> MASTER_TYPE_NAME, Manifest::fromUriAndBody); mediaPlayback.updateManifest(manifest); for (MediaPlayback complementTrack : complementTracks) { complementTrack.updateManifest(manifest); } + if (active) { + session.setManifest(manifest); + } } initialLoop = false; @@ -106,19 +143,34 @@ public MediaRepresentation findMatchingVariant(List variant complementTrack.downloadUntilTimeSecond(playedSeconds); } } + finished = mediaPlayback.hasEnded(); } finally { - lastVideoSegment = mediaPlayback.getLastSegment(); - lastSubtitleSegment = subtitlesPlayback.getLastSegment(); - lastAudioSegment = audioPlayback.getLastSegment(); + playbackFinishedThisSample = finished; + if (finished || !active) { + lastVideoSegment = mediaPlayback.getLastSegment(); + lastSubtitleSegment = subtitlesPlayback.getLastSegment(); + lastAudioSegment = audioPlayback.getLastSegment(); + session.clear(); + } } } + private static MediaStreamSelector buildMediaSelector( + BandwidthSelector bandwidthSelector) { + return new MediaStreamSelector() { + @Override + public MediaRepresentation findMatchingVariant(List variants) { + return findVariantPerAttribute(MediaRepresentation::getBandwidth, bandwidthSelector, + variants); + } + }; + } + @Override public Variants getVariants(URI masterUri) throws PlaylistParsingException, PlaylistDownloadException { Variants variants = new Variants(); - Manifest manifest = getManifest(masterUri, p -> MASTER_TYPE_NAME, - Manifest::fromUriAndBody); + Manifest manifest = getManifest(masterUri, p -> MASTER_TYPE_NAME, Manifest::fromUriAndBody); variants.setAudioLanguageList(manifest.getVideoLanguages()); variants.setSubtitleList(manifest.getSubtitleLanguages()); variants.setResolutionList(manifest.getResolutions()); @@ -219,8 +271,7 @@ private void downloadNextSegment() throws InterruptedException { } private void awaitSegmentAvailable(DashMediaSegment segment) throws InterruptedException { - Instant availabilityTime = - segment.getStartAvailabilityTime().plus(segment.getDuration()); + Instant availabilityTime = segment.getStartAvailabilityTime().plus(segment.getDuration()); //The clocks have to be synchronized to avoid error on segments availability Instant nowSynchronized = timeMachine.now().plus(manifest.getClocksDiff()); if (availabilityTime.isAfter(nowSynchronized)) { @@ -242,15 +293,16 @@ private void downloadUntilTimeSecond(double untilTimeSecond) throws InterruptedE if (segmentBuilder == null) { return; } - while (consumedSeconds < untilTimeSecond && segmentBuilder.hasNext()) { + while (consumedSeconds < untilTimeSecond && segmentBuilder.hasNext() + && !shouldYieldForSlice()) { downloadNextSegment(); } } private boolean hasEnded() { - return playedRequestedTime() - || segmentBuilder == null || (!segmentBuilder.hasNext() && !periods.hasNext() && - (!manifest.isDynamic() || manifest.getMinimumUpdatePeriod() == null)); + return playedRequestedTime() || segmentBuilder == null || (!segmentBuilder.hasNext() + && !periods.hasNext() && (!manifest.isDynamic() + || manifest.getMinimumUpdatePeriod() == null)); } private boolean hasContents() { diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/hls/HlsSampler.java b/src/main/java/com/blazemeter/jmeter/videostreaming/hls/HlsSampler.java index ddc0148..7d44e50 100644 --- a/src/main/java/com/blazemeter/jmeter/videostreaming/hls/HlsSampler.java +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/hls/HlsSampler.java @@ -5,7 +5,9 @@ import com.blazemeter.jmeter.hls.logic.BandwidthSelector; import com.blazemeter.jmeter.hls.logic.ResolutionSelector; import com.blazemeter.jmeter.videostreaming.core.MediaSegment; +import com.blazemeter.jmeter.videostreaming.core.PlaybackSession; import com.blazemeter.jmeter.videostreaming.core.SampleResultProcessor; +import com.blazemeter.jmeter.videostreaming.core.StreamingSliceCoordinator; import com.blazemeter.jmeter.videostreaming.core.TimeMachine; import com.blazemeter.jmeter.videostreaming.core.Variants; import com.blazemeter.jmeter.videostreaming.core.VideoStreamingHttpClient; @@ -17,6 +19,7 @@ import com.comcast.viper.hlsparserj.tags.master.StreamInf; import java.net.URI; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -35,60 +38,88 @@ public class HlsSampler extends VideoStreamingSampler { // RFC 8216 Section 6.3.3: start this many target durations from the live edge private static final int RFC_8216_LIVE_EDGE_DURATIONS = 3; + private final transient PlaybackSession session = + new PlaybackSession<>(); + public HlsSampler(com.blazemeter.jmeter.hls.logic.HlsSampler baseSampler, VideoStreamingHttpClient httpClient, TimeMachine timeMachine, SampleResultProcessor sampleResultProcessor) { super(baseSampler, httpClient, timeMachine, sampleResultProcessor); } + @Override + public void clearPlaybackSession() { + session.clear(); + } + public void sample(URI masterUri, BandwidthSelector bandwidthSelector, ResolutionSelector resolutionSelector, String audioLanguage, String subtitleLanguage, int playSeconds) throws PlaylistDownloadException, PlaylistParsingException, InterruptedException { - Playlist masterPlaylist = downloadMasterPlaylist(masterUri); - - Playlist mediaPlaylist; - Playlist audioPlaylist = null; - Playlist subtitlesPlaylist = null; - - if (masterPlaylist.isMasterPlaylist()) { - List bandwidths = getBandwidths((MasterPlaylist) masterPlaylist.getPlaylist()); - List resolutions = getResolutions((MasterPlaylist) masterPlaylist.getPlaylist()); - if (bandwidthSelector.getCustomBandwidth() != null - && !bandwidths.contains(bandwidthSelector.getCustomBandwidth())) { - sampleResultProcessor.accept(buildPlaylistName(MEDIA_TYPE_NAME), - buildNotMatchingMediaPlaylistResult(variantsToString(bandwidths), "bandwidth")); - return; - } else if (resolutionSelector.getCustomResolution() != null - && !resolutions.contains(resolutionSelector.getCustomResolution())) { - sampleResultProcessor.accept(buildPlaylistName(MEDIA_TYPE_NAME), - buildNotMatchingMediaPlaylistResult(variantsToString(resolutions), "resolution")); - return; + boolean active = StreamingSliceCoordinator.isActive(); + MediaPlayback mediaPlayback; + MediaPlayback audioPlayback; + MediaPlayback subtitlesPlayback; + + if (active && session.isInitialized()) { + mediaPlayback = session.getPrimary(); + audioPlayback = session.getComplements().get(0); + subtitlesPlayback = session.getComplements().get(1); + } else { + Playlist masterPlaylist = downloadMasterPlaylist(masterUri); + + Playlist mediaPlaylist; + Playlist audioPlaylist = null; + Playlist subtitlesPlaylist = null; + + if (masterPlaylist.isMasterPlaylist()) { + List bandwidths = getBandwidths((MasterPlaylist) masterPlaylist.getPlaylist()); + List resolutions = getResolutions((MasterPlaylist) masterPlaylist.getPlaylist()); + if (bandwidthSelector.getCustomBandwidth() != null + && !bandwidths.contains(bandwidthSelector.getCustomBandwidth())) { + sampleResultProcessor.accept(buildPlaylistName(MEDIA_TYPE_NAME), + buildNotMatchingMediaPlaylistResult(variantsToString(bandwidths), "bandwidth")); + endSessionOnSetupFailure(); + return; + } else if (resolutionSelector.getCustomResolution() != null + && !resolutions.contains(resolutionSelector.getCustomResolution())) { + sampleResultProcessor.accept(buildPlaylistName(MEDIA_TYPE_NAME), + buildNotMatchingMediaPlaylistResult(variantsToString(resolutions), "resolution")); + endSessionOnSetupFailure(); + return; + } + + MediaStream mediaStream = masterPlaylist.solveMediaStream(bandwidthSelector, + resolutionSelector, audioLanguage, subtitleLanguage); + + mediaPlaylist = downloadPlaylist(mediaStream.getMediaPlaylistUri(), MEDIA_TYPE_NAME); + audioPlaylist = tryDownloadPlaylist(mediaStream.getAudioUri(), + p -> buildPlaylistName(AUDIO_TYPE_NAME)); + subtitlesPlaylist = tryDownloadPlaylist(mediaStream.getSubtitlesUri(), + p -> p != null ? buildPlaylistName(SUBTITLES_TYPE_NAME) : SUBTITLES_TYPE_NAME); + } else { + mediaPlaylist = masterPlaylist; } - MediaStream mediaStream = masterPlaylist - .solveMediaStream(bandwidthSelector, resolutionSelector, audioLanguage, subtitleLanguage); + boolean liveEdge = isStartFromLiveEdge(); + mediaPlayback = new MediaPlayback(mediaPlaylist, MEDIA_TYPE_NAME, + lastVideoSegment, playSeconds, liveEdge); + audioPlayback = new MediaPlayback(audioPlaylist, AUDIO_TYPE_NAME, + lastAudioSegment, playSeconds, liveEdge); + subtitlesPlayback = new MediaPlayback(subtitlesPlaylist, SUBTITLES_TYPE_NAME, + lastSubtitleSegment, playSeconds, liveEdge); + mediaPlayback.downloadInitializationSegment(); - mediaPlaylist = downloadPlaylist(mediaStream.getMediaPlaylistUri(), MEDIA_TYPE_NAME); - audioPlaylist = tryDownloadPlaylist(mediaStream.getAudioUri(), - p -> buildPlaylistName(AUDIO_TYPE_NAME)); - subtitlesPlaylist = tryDownloadPlaylist(mediaStream.getSubtitlesUri(), - p -> p != null ? buildPlaylistName(SUBTITLES_TYPE_NAME) : SUBTITLES_TYPE_NAME); - } else { - mediaPlaylist = masterPlaylist; + if (active) { + session.setPrimary(mediaPlayback); + session.setComplements(Arrays.asList(audioPlayback, subtitlesPlayback)); + session.markInitialized(); + } } - boolean liveEdge = isStartFromLiveEdge(); - MediaPlayback mediaPlayback = new MediaPlayback(mediaPlaylist, MEDIA_TYPE_NAME, - lastVideoSegment, playSeconds, liveEdge); - MediaPlayback audioPlayback = new MediaPlayback(audioPlaylist, AUDIO_TYPE_NAME, - lastAudioSegment, playSeconds, liveEdge); - MediaPlayback subtitlesPlayback = new MediaPlayback(subtitlesPlaylist, SUBTITLES_TYPE_NAME, - lastSubtitleSegment, playSeconds, liveEdge); - + boolean finished = false; try { - mediaPlayback.downloadInitializationSegment(); - while (!mediaPlayback.hasEnded()) { + while (!mediaPlayback.hasEnded() && !shouldYieldForSlice()) { mediaPlayback.downloadNextSegment(); double playedSeconds = mediaPlayback.getPlayedTimeSeconds(); if (playSeconds > 0 && playSeconds < playedSeconds) { @@ -97,13 +128,25 @@ public void sample(URI masterUri, BandwidthSelector bandwidthSelector, audioPlayback.downloadUntilTimeSecond(playedSeconds); subtitlesPlayback.downloadUntilTimeSecond(playedSeconds); } + finished = mediaPlayback.hasEnded(); } finally { - lastVideoSegment = mediaPlayback.getLastSegment(); - lastAudioSegment = audioPlayback.getLastSegment(); - lastSubtitleSegment = subtitlesPlayback.getLastSegment(); + playbackFinishedThisSample = finished; + if (finished || !active) { + lastVideoSegment = mediaPlayback.getLastSegment(); + lastAudioSegment = audioPlayback.getLastSegment(); + lastSubtitleSegment = subtitlesPlayback.getLastSegment(); + session.clear(); + } } } + // A variant/resolution mismatch means playback cannot proceed; treat it as terminal so the + // parallel controller ends the iteration instead of re-entering and re-fetching forever. + private void endSessionOnSetupFailure() { + playbackFinishedThisSample = true; + session.clear(); + } + @Override public Variants getVariants(URI masterUri) { Playlist masterPlaylist = null; @@ -263,15 +306,15 @@ private void downloadInitializationSegment() { private void updatePlaylist() throws InterruptedException, PlaylistDownloadException, PlaylistParsingException { - timeMachine.awaitMillis(playlist.getReloadTimeMillisForDurationMultiplier(1, - timeMachine.now())); + timeMachine.awaitMillis(clampAwaitMillis(playlist.getReloadTimeMillisForDurationMultiplier(1, + timeMachine.now()))); Playlist updatedPlaylist = downloadPlaylist(playlist.getUri(), this.type); - while (updatedPlaylist.equals(playlist)) { + while (updatedPlaylist.equals(playlist) && !shouldYieldForSlice()) { long millis = updatedPlaylist .getReloadTimeMillisForDurationMultiplier(0.5, timeMachine.now()); - timeMachine.awaitMillis(millis); + timeMachine.awaitMillis(clampAwaitMillis(millis)); updatedPlaylist = downloadPlaylist(playlist.getUri(), this.type); } @@ -289,7 +332,7 @@ private void downloadUntilTimeSecond(double untilTimeSecond) throws InterruptedE } try { - while (consumedSeconds <= untilTimeSecond) { + while (consumedSeconds <= untilTimeSecond && !shouldYieldForSlice()) { downloadNextSegment(); } } catch (PlaylistParsingException | PlaylistDownloadException e) { diff --git a/src/test/resources/jmeter/StreamingParallelController.jmx b/src/test/resources/jmeter/StreamingParallelController.jmx new file mode 100644 index 0000000..8e201cc --- /dev/null +++ b/src/test/resources/jmeter/StreamingParallelController.jmx @@ -0,0 +1,104 @@ + + + + + + false + true + false + + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + continue + + false + 1 + + 1 + 0 + false + + + + + + 10 + false + + + + https://hls.demoblaze.com/about_demo_hls_600k.m3u8 + + 60 + true + + minResolution + minBandwidth + AUTOMATIC + + + + false + true + + + + + + + example.com + + https + /heartbeat + POST + true + true + + + + + + + + From 7531b2d37a1a21fa6994f22a1ad529e5afd2b687 Mon Sep 17 00:00:00 2001 From: Joaquin Araujo Date: Mon, 13 Jul 2026 22:12:03 -0300 Subject: [PATCH 5/6] Clean and format --- .../core/StreamingSliceCoordinator.java | 16 ++-- .../core/VideoStreamingSampler.java | 79 ++++++++++++------- 2 files changed, 60 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinator.java b/src/main/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinator.java index 3180c7e..4f90718 100644 --- a/src/main/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinator.java +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/core/StreamingSliceCoordinator.java @@ -3,7 +3,7 @@ /** * Per-thread handoff between the Streaming Parallel Controller and the streaming sampler. * - *

The controller owns the lifecycle ({@link #beginIteration()} / {@link #endIteration()}) and + *

The controller owns the lifecycle ({@link #beginIteration()}) and * the slice deadline; the sampler only reads the deadline (via {@link #shouldYield()} / * {@link #clampMillis(long)}) and writes a single {@link SliceExit} in a {@code finally} block. * @@ -18,6 +18,7 @@ public enum SliceExit { } private static final class State { + private boolean active; private boolean newSession; private long sliceDeadlineNanos = Long.MAX_VALUE; @@ -26,9 +27,6 @@ private static final class State { private static final ThreadLocal STATE = ThreadLocal.withInitial(State::new); - private StreamingSliceCoordinator() { - } - /** * Called by the controller at the start of each of its iterations. Marks the thread as sliced and * signals a new playback session. @@ -41,7 +39,6 @@ public static void beginIteration() { s.lastExit = null; } - /** Sets the wall-clock (nanoTime) deadline for the next streaming slice. */ public static void setDeadlineNanos(long deadlineNanos) { STATE.get().sliceDeadlineNanos = deadlineNanos; } @@ -50,7 +47,9 @@ public static boolean isActive() { return STATE.get().active; } - /** Reads and clears the new-session flag. Only meaningful while {@link #isActive()}. */ + /** + * Reads and clears the new-session flag. Only meaningful while {@link #isActive()}. + */ public static boolean consumeNewSession() { State s = STATE.get(); boolean value = s.newSession; @@ -58,7 +57,9 @@ public static boolean consumeNewSession() { return value; } - /** True when a controller is slicing and the current slice deadline has passed. */ + /** + * True when a controller is slicing and the current slice deadline has passed. + */ public static boolean shouldYield() { State s = STATE.get(); return s.active && System.nanoTime() >= s.sliceDeadlineNanos; @@ -88,7 +89,6 @@ public static SliceExit getExit() { return STATE.get().lastExit; } - /** Full reset. Called by the controller when its iteration ends and on thread finish. */ public static void clear() { State s = STATE.get(); s.active = false; diff --git a/src/main/java/com/blazemeter/jmeter/videostreaming/core/VideoStreamingSampler.java b/src/main/java/com/blazemeter/jmeter/videostreaming/core/VideoStreamingSampler.java index 0981982..f1c408e 100644 --- a/src/main/java/com/blazemeter/jmeter/videostreaming/core/VideoStreamingSampler.java +++ b/src/main/java/com/blazemeter/jmeter/videostreaming/core/VideoStreamingSampler.java @@ -29,10 +29,10 @@ public abstract class VideoStreamingSampler { public static final String SUBTITLES_TYPE_NAME = "subtitles"; public static final String VIDEO_TYPE_NAME = "video"; public static final String AUDIO_TYPE_NAME = "audio"; - public static final String RELEASE_SEGMENT_RESPONSE_DATA_PROP = - "hls.sampler.releaseSegmentResponseData"; - public static final String RELEASE_PLAYLIST_RESPONSE_DATA_PROP = - "hls.sampler.releasePlaylistResponseData"; + public static final String RELEASE_SEGMENT_RESPONSE_DATA_PROP = "hls.sampler" + + ".releaseSegmentResponseData"; + public static final String RELEASE_PLAYLIST_RESPONSE_DATA_PROP = "hls.sampler" + + ".releasePlaylistResponseData"; protected static final String MASTER_TYPE_NAME = "master"; protected static final String MEDIA_TYPE_NAME = "media"; private static final byte[] BOM_BYTES = {(byte) 0xEF, (byte) 0xBB, (byte) 0xBF}; @@ -49,11 +49,12 @@ public abstract class VideoStreamingSampler { protected transient U lastAudioSegment; protected transient U lastSubtitleSegment; + protected transient boolean playbackFinishedThisSample; + private final HlsSampler baseSampler; - public VideoStreamingSampler(HlsSampler baseSampler, - VideoStreamingHttpClient httpClient, TimeMachine timeMachine, - SampleResultProcessor sampleResultProcessor) { + public VideoStreamingSampler(HlsSampler baseSampler, VideoStreamingHttpClient httpClient, + TimeMachine timeMachine, SampleResultProcessor sampleResultProcessor) { this.baseSampler = baseSampler; this.httpClient = httpClient; this.timeMachine = timeMachine; @@ -62,8 +63,8 @@ public VideoStreamingSampler(HlsSampler baseSampler, } public static Set getSampleTypesSet() { - Set sampleTypes = Stream - .of(SUBTITLES_TYPE_NAME, MEDIA_TYPE_NAME, VIDEO_TYPE_NAME, AUDIO_TYPE_NAME) + Set sampleTypes = Stream.of(SUBTITLES_TYPE_NAME, MEDIA_TYPE_NAME, VIDEO_TYPE_NAME, + AUDIO_TYPE_NAME) .flatMap(t -> Stream.of(buildPlaylistName(t), buildSegmentName(t), buildInitSegmentName(t))) .collect(Collectors.toSet()); sampleTypes.add(buildPlaylistName(MASTER_TYPE_NAME)); @@ -84,11 +85,15 @@ protected static String buildInitSegmentName(String segmentType) { } public SampleResult sample() { + StreamingSliceCoordinator.SliceExit exit = StreamingSliceCoordinator.SliceExit.FINISHED; try { URI masterUri = URI.create(baseSampler.getMasterUrl()); + playbackFinishedThisSample = false; sample(masterUri, baseSampler.getBandwidthSelector(), baseSampler.getResolutionSelector(), baseSampler.getAudioLanguage(), baseSampler.getSubtitleLanguage(), baseSampler.getPlaySecondsOrWarn()); + exit = playbackFinishedThisSample ? StreamingSliceCoordinator.SliceExit.FINISHED + : StreamingSliceCoordinator.SliceExit.YIELD; } catch (IllegalArgumentException e) { // the master URL (often a dynamic variable) is not a valid URI reference; record a failed // sample instead of letting the exception abort the sampler with a raw stack trace @@ -98,24 +103,46 @@ public SampleResult sample() { result.sampleEnd(); sampleResultProcessor.accept(buildPlaylistName(MASTER_TYPE_NAME), baseSampler.errorResult(result, e)); + exit = StreamingSliceCoordinator.SliceExit.ERROR; + clearPlaybackSession(); } catch (SamplerInterruptedException e) { LOG.debug("Sampler interrupted by JMeter", e); + exit = StreamingSliceCoordinator.SliceExit.INTERRUPTED; + clearPlaybackSession(); } catch (InterruptedException e) { LOG.warn("Sampler has been interrupted", e); Thread.currentThread().interrupt(); + exit = StreamingSliceCoordinator.SliceExit.INTERRUPTED; + clearPlaybackSession(); } catch (PlaylistDownloadException | PlaylistParsingException e) { LOG.warn("Problem downloading playlist", e); + exit = StreamingSliceCoordinator.SliceExit.ERROR; + clearPlaybackSession(); + } finally { + StreamingSliceCoordinator.setExit(exit); } return null; } protected abstract void sample(URI masterUri, BandwidthSelector bandwidthSelector, - ResolutionSelector resolutionSelector, - String audioLanguage, String subtitleLanguage, - int playSeconds) + ResolutionSelector resolutionSelector, String audioLanguage, String subtitleLanguage, + int playSeconds) throws SamplerInterruptedException, InterruptedException, PlaylistDownloadException, PlaylistParsingException; + protected boolean shouldYieldForSlice() { + return StreamingSliceCoordinator.shouldYield(); + } + + protected long clampAwaitMillis(long requestedMillis) { + return StreamingSliceCoordinator.clampMillis(requestedMillis); + } + + /** + * Releases any persisted playback session. Called on terminal (error/interrupt) exits. + */ + public abstract void clearPlaybackSession(); + protected T downloadPlaylist(URI uri, Function name, PlaylistParser playlistParser) throws PlaylistParsingException, PlaylistDownloadException { Instant downloadTimestamp = timeMachine.now(); @@ -137,8 +164,7 @@ protected T downloadPlaylist(URI uri, Function name, PlaylistParser name, PlaylistParser pla } String playlistContents = getPlaylistContents(playlistResult); - T playlist = playlistParser - .parse(uri, playlistContents, downloadTimestamp); + T playlist = playlistParser.parse(uri, playlistContents, downloadTimestamp); return playlist; } @@ -247,8 +272,8 @@ T parse(URI uri, String playlistBody, Instant downloadTimestamp) protected void downloadSegment(MediaSegment segment, String type) { if (segment.hasSubRange()) { - httpClient.addHeader("range", "bytes=" + segment.getByteOffset() + "-" - + (segment.getByteOffset() + segment.getByteLength() - 1)); + httpClient.addHeader("range", "bytes=" + segment.getByteOffset() + "-" + ( + segment.getByteOffset() + segment.getByteLength() - 1)); } SampleResult result = httpClient.downloadUri(segment.getUri()); result.setResponseHeaders( @@ -260,8 +285,8 @@ protected void downloadSegment(MediaSegment segment, String type) { protected void downloadInitSegment(InitializationSegment initializationSegment, String type) { - httpClient.addHeader("range", "bytes=" + initializationSegment.getByteOffset() + "-" - + (initializationSegment.getByteOffset() + initializationSegment.getByteLength() - 1)); + httpClient.addHeader("range", "bytes=" + initializationSegment.getByteOffset() + "-" + ( + initializationSegment.getByteOffset() + initializationSegment.getByteLength() - 1)); SampleResult result = httpClient.downloadUri(initializationSegment.getUri()); sampleResultProcessor.accept(VideoStreamingSampler.buildInitSegmentName(type), result); releaseSegmentResponseBodyIfEnabled(result); @@ -289,16 +314,16 @@ private static void clearResponseBodyPreservingMetrics(SampleResult result) { static boolean isReleaseSegmentResponseDataEnabled() { if (releaseSegmentResponseData == null) { - releaseSegmentResponseData = - JMeterUtils.getPropDefault(RELEASE_SEGMENT_RESPONSE_DATA_PROP, true); + releaseSegmentResponseData = JMeterUtils.getPropDefault(RELEASE_SEGMENT_RESPONSE_DATA_PROP, + true); } return releaseSegmentResponseData; } static boolean isReleasePlaylistResponseDataEnabled() { if (releasePlaylistResponseData == null) { - releasePlaylistResponseData = - JMeterUtils.getPropDefault(RELEASE_PLAYLIST_RESPONSE_DATA_PROP, false); + releasePlaylistResponseData = JMeterUtils.getPropDefault(RELEASE_PLAYLIST_RESPONSE_DATA_PROP, + false); } return releasePlaylistResponseData; } @@ -315,10 +340,10 @@ public static void resetReleasePlaylistResponseDataCache() { @VisibleForTesting public static HTTPSampleResult buildNotMatchingMediaPlaylistResult(String variants, - String selector) { + String selector) { return HlsSampler.errorResult(new HTTPSampleResult(), "NoMatchingMediaPlaylist", - "No matching media playlist for provided " + selector + ", " - + "available " + selector + "s" + " are: \n" + variants); + "No matching media playlist for provided " + selector + ", " + "available " + selector + "s" + + " are: \n" + variants); } public abstract Variants getVariants(URI masterUri) From 81e24d87457d539ba60aa4efb9ed860dc90af211 Mon Sep 17 00:00:00 2001 From: Joaquin Araujo Date: Mon, 13 Jul 2026 22:24:32 -0300 Subject: [PATCH 6/6] Add controller documentation --- README.md | 44 ++++++++++++++++++ ...streaming-parallel-controller-interval.png | Bin 0 -> 131457 bytes ...ng-parallel-controller-run-immediately.png | Bin 0 -> 131557 bytes docs/streaming-parallel-controller-tree.png | Bin 0 -> 45364 bytes docs/streaming-parallel-controller.png | Bin 0 -> 131364 bytes 5 files changed, 44 insertions(+) create mode 100644 docs/streaming-parallel-controller-interval.png create mode 100644 docs/streaming-parallel-controller-run-immediately.png create mode 100644 docs/streaming-parallel-controller-tree.png create mode 100644 docs/streaming-parallel-controller.png diff --git a/README.md b/README.md index cd49798..fb353e4 100755 --- a/README.md +++ b/README.md @@ -132,6 +132,50 @@ The sampler will automatically add an `X-MEDIA-SEGMENT-DURATION` HTTP response h In the case of MPEG DASH, the View Results Tree Listener displays the resultant samples with the associated type (manifest, inits and segments for media, audio and subtitles) to easily identify them as well. +## Running periodic requests during playback (Streaming Parallel Controller) + +### Concept + +Many streaming clients fire a periodic "heartbeat" (analytics beacon, session keep-alive, DRM/license ping, etc.) while the video keeps playing. The **bzm - Streaming Parallel Controller** reproduces that behavior without the CPU and memory cost of the JMeter Parallel Controller: instead of spawning extra threads and deep-cloning the sub-tree, it runs the playback and the heartbeat on the **same thread** by time slicing the playback. Between heartbeats the Streaming Sampler plays in short, resumable slices; every configured interval the controller pauses playback at a slice boundary, runs the heartbeat branch once, and then resumes playback exactly where it left off (no re-download of the master/media playlists or manifest). + +![](docs/streaming-parallel-controller.png) + +### To add it to your test + +- Add the controller: Add -> Logic Controller -> bzm - Streaming Parallel Controller +- Add a **bzm - Streaming Sampler** as a **direct child** of the controller. This is the playback track. +- Add the periodic requests (the heartbeat) as the remaining children. They can be plain HTTP Samplers or grouped under a Transaction/Logic Controller. + +The test tree looks like this: + +![](docs/streaming-parallel-controller-tree.png) + +### Controller configuration + +#### Heartbeat interval + +Set how often (in seconds) the heartbeat branch runs while playback continues in between. For example, `10` fires the heartbeat branch once every 10 seconds of playback. + +![](docs/streaming-parallel-controller-interval.png) + +#### Run heartbeat immediately + +When enabled, the heartbeat branch runs once at the very start of the iteration (before the first interval elapses). When disabled (default), the controller waits one full interval before the first heartbeat. + +![](docs/streaming-parallel-controller-run-immediately.png) + +### Results + +The Streaming Sampler still emits its usual master/media/segment samples, and the heartbeat branch emits its own samples interleaved with them, so in the View Results Tree you see the heartbeat requests appear roughly every interval, in between the segment downloads of a single ongoing playback. + +> [!NOTE] +> **Limitations** +> - The Streaming Sampler must be a **direct child** of the controller. Do not wrap it in a Transaction Controller, or you would get one tiny transaction per playback slice. If no direct-child Streaming Sampler is found, the controller emits a single failed sample so the misconfiguration is visible. +> - Heartbeat and playback share **one thread**. A slow heartbeat (large body / slow server) delays segment polling, so this is best suited to small beacon-style requests. For very short intervals (5-10s) on slow networks, a heartbeat may slip by up to one segment download, since a segment download in progress is not interrupted mid-request. +> - Do **not** add Timers to the heartbeat branch: they block the shared thread and add drift. +> - The heartbeat interval controls when the branch runs **once**; all samplers under it run sequentially each time. To spread requests evenly, structure the branch accordingly. +> - Nesting one Streaming Parallel Controller inside another is not supported (the inner one logs a warning and runs its children without independent slicing). + ## Memory tuning: response data release To reduce JVM memory usage during large/long load tests, the sampler can release diff --git a/docs/streaming-parallel-controller-interval.png b/docs/streaming-parallel-controller-interval.png new file mode 100644 index 0000000000000000000000000000000000000000..f00774c86e3e9d41fc7dcc25de14371f3c95ef6a GIT binary patch literal 131457 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

NoMXOC(m(Lp-S?YyF#3cf&4 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

F{#Av!B$LRs>lR$ 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%0Ahs?cHl3Pcsc57i2k#x};vnl>LS+_avIw-sA> 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 literal 0 HcmV?d00001 diff --git a/docs/streaming-parallel-controller-run-immediately.png b/docs/streaming-parallel-controller-run-immediately.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b9e5376f92c71a94206c2f4546b86337dda760 GIT binary patch literal 131557 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 Yq>rFD=}SOn^`=dSZI9TL{Dk`LPav6Wy#N3J literal 0 HcmV?d00001 diff --git a/docs/streaming-parallel-controller-tree.png b/docs/streaming-parallel-controller-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..2581b27e92e716df8b07cd6f277fb92bf201d42e GIT binary patch literal 45364 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 G1pW^y2byL8 literal 0 HcmV?d00001 diff --git a/docs/streaming-parallel-controller.png b/docs/streaming-parallel-controller.png new file mode 100644 index 0000000000000000000000000000000000000000..994d29c78a3d6c0268539ed0cf06bc5031fbaf95 GIT binary patch literal 131364 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%0DFE3>>c*7^-*&2 z(@v8wGEr~61yGn{Tpfp$*eXJ)8f^}V+43^CCIP= zX++vqiHkZq1J}3@48$wTD{Gt&ZWSX0PF>|0KcQJ2dpwQp2;q8aF;7%PLT@hW{W_evU7 zVtAbhi&-5pBi}RfRZXkLoK3n`>6ap9goT2N$P$_!Olk_=PikKo-#b;^gfk~5e!XeH zROzrnQI*tuccp&XyMfZS7BR_gX&wPv#6c(OY8ZLN#`wr<_NU02Hg|vKKNW0{Y7Bbt zu^dgI4-pf7$_MC=9Oy{vtU?PkV5HqZG`%0D&*M_k%0Z%4HY2 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 ZZdwxdCDpZJS(8+8GH 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