Skip to content

Commit ec5bc25

Browse files
committed
Add MIT license and service graph capture artifacts
1 parent 4746722 commit ec5bc25

6 files changed

Lines changed: 28 additions & 1 deletion

File tree

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Maximiliam Gierschmann
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,3 +353,7 @@ flowchart LR
353353
good --> worker[Worker thread CPU execution]
354354
worker --> responsive[Event loop remains responsive]
355355
```
356+
357+
## License
358+
359+
MIT. See [LICENSE](./LICENSE).
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"timestamp":"2026-02-07T15:05:18.772Z","defaultScenarioId":"normal","activeScenarioIds":["normal","spike","chaotic","high-throughput","enqueue-10k","hash-bad","hash-good"],"activeNarrative":"Active scenarios: Normal traffic, Spike traffic, Chaotic scenario, High throughput (max load), Enqueue 10k jobs, Trigger blocking hash, Trigger worker hash. Expect compounded impact across latency, errors, queue pressure, and load balancing distribution.","scenarios":[{"id":"normal","label":"Normal traffic","summary":"Steady user-like baseline traffic across deal browsing and occasional purchases to keep the system warm.","explanation":"This scenario continuously generates realistic marketplace read traffic plus periodic purchases. It drives ingress RPS, upstream fan-out, and queue activity at a stable baseline.","intervalMs":700,"defaultActive":true,"active":true,"startedAt":"2026-02-07T15:01:48.548Z","stoppedAt":null,"lastRunAt":"2026-02-07T15:05:18.550Z","lastError":null,"lastOutcome":{"successCount":2,"failureCount":0,"details":"Baseline traffic loop generating steady reads and periodic purchases."}},{"id":"spike","label":"Spike traffic","summary":"Sudden high-concurrency read bursts to stress API latency, retries, and upstream saturation behavior.","explanation":"Spike sends parallel bursts of /api/deals requests. You should see ingress RPS jump, p95 latency rise, and service severities degrade when timeouts/retries increase.","intervalMs":280,"defaultActive":false,"active":true,"startedAt":"2026-02-07T15:05:18.567Z","stoppedAt":null,"lastRunAt":null,"lastError":null,"lastOutcome":null},{"id":"chaotic","label":"Chaotic scenario","summary":"Mixed unpredictable traffic and background stress to simulate cascading failures and noisy production bursts.","explanation":"Each cycle mixes list/detail fan-out, purchases, random queue bursts, and occasional hash workloads. Expect volatile latency/error swings and changing pressure across API, queues, and workers.","intervalMs":1700,"defaultActive":false,"active":true,"startedAt":"2026-02-07T15:05:18.590Z","stoppedAt":null,"lastRunAt":null,"lastError":null,"lastOutcome":null},{"id":"high-throughput","label":"High throughput (max load)","summary":"Sustained high-concurrency list traffic to approximate benchmark-level ingress and visualize system limits.","explanation":"This scenario continuously fires 200 concurrent /api/deals requests per wave. Use it to observe near-max local throughput, queueing effects, and where latency starts to bend.","intervalMs":10,"defaultActive":false,"active":true,"startedAt":"2026-02-07T15:05:18.611Z","stoppedAt":null,"lastRunAt":null,"lastError":null,"lastOutcome":null},{"id":"enqueue-10k","label":"Enqueue 10k jobs","summary":"Repeatedly pushes large enrichment batches to trigger queue backpressure and lag growth.","explanation":"Each interval submits 10k enrichment jobs. Queue depth and lag climb quickly, workers become saturated, and admission control can return 429 when thresholds are exceeded.","intervalMs":12000,"defaultActive":false,"active":true,"startedAt":"2026-02-07T15:05:18.716Z","stoppedAt":null,"lastRunAt":null,"lastError":null,"lastOutcome":null},{"id":"hash-bad","label":"Trigger blocking hash","summary":"Forces CPU work onto the event loop, demonstrating blocking-induced tail latency and timeout cascades.","explanation":"The bad hash runs PBKDF2 on the main thread. This blocks the event loop, so unrelated requests wait, upstream timeouts increase, and error rate may spike.","intervalMs":5000,"defaultActive":false,"active":true,"startedAt":"2026-02-07T15:05:18.734Z","stoppedAt":null,"lastRunAt":null,"lastError":null,"lastOutcome":null},{"id":"hash-good","label":"Trigger worker hash","summary":"Runs the same CPU workload via worker threads, preserving API responsiveness while doing heavy compute.","explanation":"The good hash offloads CPU work to worker threads. Compare this with hash-bad: similar compute happens, but event-loop latency impact is lower.","intervalMs":5000,"defaultActive":false,"active":true,"startedAt":"2026-02-07T15:05:18.753Z","stoppedAt":null,"lastRunAt":null,"lastError":null,"lastOutcome":null}],"requestId":"342bca99-2d4c-4d04-9c50-9e3fb40ae14f"}
532 KB
Loading
222 KB
Loading

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,6 @@
3030
"pino-http": "^10.3.0",
3131
"prom-client": "^15.1.3",
3232
"undici": "^6.21.0"
33-
}
33+
},
34+
"license": "MIT"
3435
}

0 commit comments

Comments
 (0)