[SERVER-29304] Exclude time spent blocking for awaitData from latency metrics Created: 19/May/17 Updated: 30/Oct/23 Resolved: 14/Jun/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Diagnostics, Querying |
| Affects Version/s: | None |
| Fix Version/s: | 3.5.9 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | David Storch | Assignee: | David Storch |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||
| Backport Requested: |
v3.4
|
||||||||||||||||||||||||||||||||
| Sprint: | Query 2017-06-19 | ||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||
| Case: | (copied to CRM) | ||||||||||||||||||||||||||||||||
| Description |
|
When a getMore is issued against a tailable cursor with the awaitData option and no results are currently available, the thread executing the getMore will wait on a condition variable for additional results to become available via insertion into the capped collection. This allows clients to periodically poll a capped collection for new records. This waiting time is currently incorporated into some of the latency measurements surfaced by the server (e.g. in diagnostic logs, the system.profile collection, and the opLatencies section of serverStatus). This can be counter-intuitive to users, since reporting on average latency may be skewed by this "expected" waiting time on systems that are mostly idle. Therefore, we should exclude this "expected latency" from the following:
Note, however, that this behavior change will not apply to db.currentOp()'s secs_running or microsecs_running, since this output is more often used to gauge the true latency of active operations, rather than generating reports after the fact. |
| Comments |
| Comment by Githook User [ 14/Jun/17 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: This change applies to various server diagnostics which Furthermore, this change fixes the following:
|