// What the load tests share. Each virtual user is a listener of its own, signed in by name with // the header the scratch daemon trusts from 127.0.0.1, as production trusts Cloudflare Access's. export const BASE = __ENV.BASE; export const USERS = Number(__ENV.USERS || 100); export const FEEDS = Number(__ENV.FEEDS || 1500); // Each generated feed has this many items; see run.js. export const ITEMS = 20; export const as = (name, tag) => ({ headers: { 'X-Load-User': name, 'Content-Type': 'application/json' }, tags: { name: tag }, }); /// The listener this virtual user is, one of the hundred run.js seeded, thirty feeds each. export const me = () => `load-${(__VU - 1) % USERS}`; export const pick = a => a[Math.floor(Math.random() * a.length)]; /// A p95 budget, in ms, for whichever database the daemon is on (run.js --postgres). Postgres's /// are tighter: SQLite's carry the queue for its one connection (#136). export const p95 = (sqlite, postgres) => [`p(95)<${__ENV.DB === 'postgres' ? postgres : sqlite}`]; export const feedId = n => `gen-${String(n).padStart(4, '0')}`;