HLDArena
HLD-116·Messaging & Queues
Easy · 500 pts

Mobile App Crash Dump & Stack-Trace Collector

Design a crash telemetry ingestion pipeline absorbing sudden dump storms when a buggy mobile release rolls out to millions of devices.

Max p99
≤ 85 ms
Availability
≥ 99.4%
Budget
≤ $2,350

Functional Requirements

  • FR-1POST /crashes — Accepts compressed crash stack traces, fingerprints them, and buffers processing.
  • FR-2GET /apps/{app_id}/crashes — Returns top grouped crash signatures and occurrence counts.
  • FR-3DELETE /crashes/{app_id} — Supports tenant retention TTL expiry, rule updates, or stream cleanup while keeping recent rollup caches fresh.
  • FR-4Must not drop accepted crash reports when a primary database node crashes.

Workload Profile

Baseline Releases6,000 Dashboard Read RPS / 9,500 Crash Write RPS
Bad Release Storm15,000 Read RPS / 33,000 Crash Write RPS
Active Working Set9 GB active release crash signature rollups
Traffic DistributionHeavy write burst on affected app_id releases

Consistency Model

Eventual dashboard aggregation (< 5s) acceptable; ingested crash payloads buffered durably.

Design Write-up
0 boxes · 0 edges
0 words
Hidden Cases #4–#7 run automatically on Submit
Case 1: Smoke & API ContractInput Workload
Read RPS
600 rps
Write RPS
400 rps
Key Distribution
Uniform (Low Skew)
Chaos Fault
None (Healthy Cluster)
Expected Pass CriteriaASSERTIONS
• Tail Latency: p99 ≤ 170 ms
• Availability: ≥ 99.4%
Valid end-to-end Client → Compute → Storage topology