Chapter 58. Reaching the End of Your Data
The how-long–why loop is a tidy way to think about performance. Every response time problem, at its highest level of analysis, is a how-long problem. How long did PYUGEN take in the Payroll story? 1,957 seconds. Likewise, every price problem, at its highest level of analysis, is a how-much problem. How much did your bag of groceries cost? $55.48. In both worlds, the next question you’ll ask is why.
Answering the why question requires an analytical plunge, a drill-down that you can accomplish only if you have more detailed data to drill into. If you know that PYUGEN took 1,957 seconds only because you timed it with a stopwatch, then you’re not going to be able to answer the why question until you trace. Likewise, if all you see is the $55.48 line item on your credit card statement, you won’t be able to answer why until you find your receipt.
Every how-long question stimulates its own why. The process is recursive, because each new why inspires a new, more detailed how-long (or how-much) question that can inspire a new why question, like this:
| The users are upset. | Mom’s upset. | |
| Why? | Because Payroll is taking too long | Because the tomatoes cost too much |
| How long/much? | 1,957 seconds | $15.48 |
| Why? | Because 984 sec (50%) is network I/O calls | Because $15.48 (100%) is tomatoes (after returning the chocolate bars) |
| How long/much? | 95,161 calls costing 10 msec per call | 1.2 lb of tomatoes costing $12.90/lb |
| Why? | That detail is not available ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access