You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Chetan Mehrotra <ch...@gmail.com> on 2013/02/19 12:02:35 UTC

Tracing the calls made to Mongo

Hi,

To get a better understanding about the nature of remote calls being made
to Mongo from Oak code I have modified the mongo java driver [1] to log
details of calls being made through it along with time taken. To make use
of that following steps would be required

A. Build forked driver code
---------

$ git clone https://github.com/chetanmeh/mongo-java-driver.git
$ cd mongo-java-driver
$ git checkout tracer
$ mvn clean install -DskipTests

This would install the modified version of the driver to local maven repo.

B. Use the modified build
----------
Modify the pom.xml of the module and change the version to
org.mongodb:mongo-java-driver:2.10.2-SNAPSHOT

C. Change log settings
----------
Update the <module>/src/test/resources/logback-test.xml to enable debug
logs for following category

 <logger name="com.mongodb.DBPort" level="DEBUG" />

Run the testcase now and you should be able to see query logs as shown below

...
16:28:53.415  Request : Id: 11 (0 ms) OP_QUERY, { "getlasterror" : 1}
16:28:53.417  Request : Id: 12 (0 ms) OP_QUERY, [NODES] { "_id" : "1:/test"}
16:28:53.419  Request : Id: 13 (0 ms) OP_INSERT, [NODES]
16:28:53.420  Request : Id: 14 (1 ms) OP_QUERY, { "getlasterror" : 1}
16:28:53.421  Request : Id: 15 (0 ms) OP_INSERT, [NODES]
16:28:53.422  Request : Id: 16 (0 ms) OP_QUERY, { "getlasterror" : 1}
16:28:53.424  Request : Id: 17 (0 ms) OP_QUERY, [NODES] { "_id" : "1:/test"}
16:28:53.429  Request : Id: 18 (1 ms) OP_QUERY, [NODES] { "_id" : { "$gte"
: "1:/" , "$lt" : "2:/"}}
16:28:53.433  Request : Id: 19 (1 ms) OP_QUERY, [NODES] { "_id" : { "$gte"
: "2:/test/" , "$lt" : "3:/test/"}}

This might help someone to make some sense of type of calls being performed

Chetan Mehrotra

[1] https://github.com/chetanmeh/mongo-java-driver/compare/tracer