db.collection.latencyStats()
On this page
Definition
db.collection.latencyStats(options)Important
mongosh Method
This page documents a
mongoshmethod. This is not the documentation for database commands or language-specific drivers, such as Node.js.For the database command, see the
latencyStatsfield returned by thecollStatscommand.For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.
For the legacy
mongoshell documentation, refer to the documentation for the corresponding MongoDB Server release:db.collection.latencyStats()returns latency statistics for a given collection. It is a wrapper around$collStats.This method has the form:
db.collection.latencyStats( { histograms: <boolean> } )
The
histogramsargument is an optional boolean. Ifhistograms: truethenlatencyStats()adds latency histograms to the return document.
Tip
See also:
Output
latencyStats() returns a document containing a field latencyStats, containing the following fields:
| Field Name | Description |
|---|---|
reads | Latency statistics for read requests. |
writes | Latency statistics for write requests. |
commands | Latency statistics for database commands. |
transactions | Latency statistics for database transactions. |
Each of these fields contains an embedded document bearing the following fields:
| Field Name | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
latency | A 64-bit integer giving the total combined latency in microseconds. | ||||||||
ops | A 64-bit integer giving the total number of operations performed on the collection since startup. | ||||||||
histogram | An array of embedded documents, each representing a latency range. Each document covers twice the previous document's range. For upper values between 2048 microseconds and roughly 1 second, the histogram includes half-steps. This field only exists given the latencyStats: { histograms: true } option. Empty ranges with a zero count are omitted from the output.Each document bears the following fields:
For example, if histogram: [ { micros: NumberLong(1), count: NumberLong(10) }, { micros: NumberLong(2), count: NumberLong(1) }, { micros: NumberLong(4096), count: NumberLong(1) }, { micros: NumberLong(16384), count: NumberLong(1000) }, { micros: NumberLong(49152), count: NumberLong(100) } ] This indicates that there were [1]:
|
| [1] |
|
Examples
You can run latencyStats() in mongosh as follows:
db.data.latencyStats( { histograms: true } ).pretty()
latencyStats() returns a document such as the following:
{
"ns" : "test.data",
"localTime" : ISODate("2016-11-01T21:56:28.962Z"),
"latencyStats" : {
"reads" : {
"histogram" : [
{
"micros" : NumberLong(16),
"count" : NumberLong(6)
},
{
"micros" : NumberLong(512),
"count" : NumberLong(1)
}
],
"latency" : NumberLong(747),
"ops" : NumberLong(7)
},
"writes" : {
"histogram" : [
{
"micros" : NumberLong(64),
"count" : NumberLong(1)
},
{
"micros" : NumberLong(24576),
"count" : NumberLong(1)
}
],
"latency" : NumberLong(26845),
"ops" : NumberLong(2)
},
"commands" : {
"histogram" : [ ],
"latency" : NumberLong(0),
"ops" : NumberLong(0)
}
}
}