mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-11 02:46:16 -08:00
* docs(performance): plan Xtream benchmark * feat(xtream-mock-server): add deterministic 100k fixture * style(xtream-mock-server): apply repository formatting * fix(xtream-mock-server): harden performance fixture data * feat(xtream-mock-server): add performance control plane * docs(performance): correct Xtream capture plan * fix(xtream-mock-server): harden performance controls * fix(xtream-mock-server): harden control lifecycle * feat(performance): add Xtream preload markers * feat(performance): trace Xtream main phases * feat(performance): mark Xtream store publications * feat(performance): trace Xtream database phases * feat(performance): trace Xtream delete cancellation * feat(performance): capture Xtream phase attribution * feat(performance): mark Sources Xtream refresh * test(performance): define Xtream benchmark evidence contracts * test(performance): add Xtream benchmark runner * test(performance): surface failure evidence writes * test(performance): align database read clock * test(performance): preserve capture failure contracts
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import { describe, it } from 'node:test';
|
|
|
|
import { XTREAM_SCENARIO_ID } from './xtream-benchmark-contract';
|
|
import {
|
|
invalidateWorkerRequestMetrics,
|
|
workerRequestEvidence,
|
|
} from './xtream-worker-request-evidence.fixtures';
|
|
import { deriveXtreamWorkerRequestWindowProxy } from './xtream-worker-request-proxy';
|
|
|
|
describe('Xtream request-window proxy', () => {
|
|
it('uses the worst valid request window and excludes only overlap-invalid samples', () => {
|
|
const evidence = workerRequestEvidence(
|
|
XTREAM_SCENARIO_ID.INITIAL_IMPORT_LARGE
|
|
).map((request, index) =>
|
|
index === 1
|
|
? {
|
|
...request,
|
|
eventLoopDelay: {
|
|
maxMs: 12,
|
|
p95Ms: 4,
|
|
p99Ms: 7,
|
|
},
|
|
eventLoopUtilization: 0.75,
|
|
}
|
|
: request
|
|
);
|
|
const withOverlap = invalidateWorkerRequestMetrics(evidence, 1);
|
|
|
|
assert.deepEqual(deriveXtreamWorkerRequestWindowProxy(withOverlap), {
|
|
eventLoopDelayMaxMs: 12,
|
|
eventLoopDelayP95Ms: 4,
|
|
eventLoopDelayP99Ms: 7,
|
|
eventLoopUtilization: 0.75,
|
|
});
|
|
assert.equal(
|
|
deriveXtreamWorkerRequestWindowProxy(
|
|
invalidateWorkerRequestMetrics(evidence, evidence.length)
|
|
),
|
|
null
|
|
);
|
|
});
|
|
});
|