I am happy to announce the latest version of Dex, MongoLab's Index Bot. With version 0.5, we're declaring Dex halfway-there in terms of major features. The most important and convenient improvements in this version are Weighted Index Recommendations and support for MongoDB 2.2 log files.
If you haven't given Dex a try yet, check out the README and sudo pip install dex to get started. Even if you are already a Dex user, I highly recommend you revisit the readme, as Dex's output has changed.
Now when you run Dex, Dex compiles statistics for its recommendations, and provides those in its output. In contrast to prior versions, this gives a weight to each suggested index, clearly identifying the worst offenders.
Here's a rundown of major changes:
- Weighted Recommendations - For each recommendation, Dex tallies the number of affected queries, the total time consumed by those queries, and the average time for a single query. Note that Dex keeps subtotal statistics for each unique query pattern that prompted a given recommendation. Subtotals are available in -verbose/-v mode only.
- Output changes - We've modified Dex's output for the purposes of readability and convenience, in the following ways:
- By default (i.e., not in --watch/-w mode), Dex no longer provides runtime output. Dex reads the entire profile collection or log file and then outputs one set of full results.
- In --watch/-w mode, Dex still provides runtime output, periodically printing all recommendations with up-to-date statistics.
- The shell command suggestion is removed from default output in favor of concise, weighted index recommendations. The shell command is still available in -verbose/-v output, but is no longer included by default.
- Support for MongoDB 2.2 log files - While Dex has supported MongoDB 2.2 in --profile/-p mode, updates to Dex's log file regexes now support recent updates to the MongoDB log file line format.
For more information about Dex, check out Introducing Dex. As always, good luck out there!