ENGINEERING NOTE 05 / 50 · SMS
Measure SMS waiting time beyond the average
Averages hide the long waits that customers notice. Measure time to receipt alongside expired orders and clearly state which orders enter the latency distribution.
Published by OPEN RAMBO. The engineering patterns and pseudocode illustrate designs, not a documented product API. Numerical examples are illustrative.
Choose the starting event
Order creation and number allocation are different timestamps. Track allocation latency separately from waiting-for-message latency. If the customer triggers the target SMS later, your system may not know that time; do not call the whole interval carrier delivery latency.
Keep failures beside percentiles
A p95 based only on successful receipts says nothing about expired orders. Show the successful-sample count and expiry count beside it. Compare the same service, country and mature time window so changing traffic composition does not look like an improvement.
Use the tail to decide
If the median is stable while p95 rises, inspect queueing, polling gaps and delayed callbacks before increasing timeouts. A longer timeout may simply move failures later. Keep a timeline of configuration changes to distinguish a real improvement from a reporting change.
Illustrative implementation
latency = received_at - allocated_at
report = {"received_n": n, "expired_n": e,
"p50_seconds": p50, "p95_seconds": p95}Acceptance check
Verify clock units and missing timestamps. Do not replace missing receipt times with zero; that makes the service appear faster.