Skip to content

Seeded Reproducibility

Every probability roll inside Chaos Maker flows through a seeded PRNG. With the same seed and the same interaction sequence, Chaos Maker emits the same sequence of ChaosEvent decisions.

await injectChaos(page, {
seed: 12345,
network: {
failures: [{ urlPattern: '/api/orders', statusCode: 503, probability: 0.5 }],
},
});

When seed is omitted, Chaos Maker auto-generates a 32-bit seed during instance creation. Read it from the adapter and print it on failure.

const seed = await getChaosSeed(page);
console.info('Replay with seed:', seed);

Seeds control Chaos Maker decisions. They do not freeze browser scheduling, server timing, wall-clock timestamp fields, or nondeterminism in the application under test. For replay, drive the same user actions in the same order.