# README
.. _pt-mongodb-query-digest:
==================================
:program:pt-mongodb-query-digest
pt-mongodb-query-digest
reports query usage statistics
by aggregating queries from MongoDB query profiler.
Usage
.. code-block:: bash
pt-mongodb-query-digest [OPTIONS]
It runs the following command::
db.getSiblingDB("samples").system.profile.find({"op":{"$nin":["getmore", "delete"]}});
Then the results are grouped by fingerprint and namespace (database.collection). The fingerprint is calculated as a sorted list of keys in the document with a maximum depth level of 10. By default, the results are sorted by ascending query count.
Options
-?
, --help
Show help and exit
-a
, --authenticationDatabase
Specifies the database used to establish credentials and privileges
with a MongoDB server.
By default, the admin
database is used.
-c
, --no-version-check
Don't check for updates
-d
, --database
Specifies which database to profile
-f
, --output-format
Specifies the report output format. Valid options are: text
, json
.
The default value is text
.
-l
, --log-level
Specifies the log level:
panic
, fatal
, error
, warn
, info
, debug error
-n
, --limit
Limits the number of queries to show
-o
, --order-by
Specifies the sorting order using fields:
count
, ratio
, query-time
, docs-scanned
, docs-returned
.
Adding a hyphen (-
) in front of a field denotes reverse order.
For example: --order-by="count,-ratio"
.
-p
, --password
Specifies the password to use when connecting to a server
with authentication enabled.
Do not add a space between the option and its value: -p<password>
.
If you specify the option without any value, you will be prompted for the password.
-s
, --skip-collections
Comma separated list of collections to skip.
Collection system.profile
is skipped by default.
It is possible to use an empty list by setting --skip-collections=""
.
--sslCAFile
Specifies SSL CA cert file used for authentication.
--sslPEMKeyFile
Specifies SSL client PEM file used for authentication.
-u
, --user
Specifies the user name for connecting to a server
with authentication enabled.
-v
, --version
Show version and exit
Output Example
.. code-block:: none
Query 3: 0.06 QPS, ID 0b906bd86148def663d11b402f3e41fa
Ratio 1.00 (docs scanned/returned)
Time range: 2017-02-03 16:01:37.484 -0300 ART to 2017-02-03 16:02:08.43 -0300 ART
Attribute pct total min max avg 95% stddev median
================== === ======== ======== ======== ======== ======== ======= ========
Count (docs) 100
Exec Time ms 2 3 0 1 0 0 0 0
Docs Scanned 5 7.50K 75.00 75.00 75.00 75.00 0.00 75.00
Docs Returned 92 7.50K 75.00 75.00 75.00 75.00 0.00 75.00
Bytes recv 1 106.12M 1.06M 1.06M 1.06M 1.06M 0.00 1.06M
String:
Namespaces samples.col1
Operation query
Fingerprint find,shardVersion
Query {"find":"col1","shardVersion":[0,"000000000000000000000000"]}
Authors
Carlos Salguero