Skip to main content

MongoDB traffic pattern watcher

Project description

MongoWatch provides an easy way to measure mongo database access counts, and timeing, between certain points in a program.

First let’s access the database and get a db object

>>> import pymongo
>>> conn = pymongo.Connection('localhost', 27017, tz_aware=False)
>>> db = conn[DBNAME]

Our example collections relate to street life, traffic, and crowds

>>> traffic = db.cars
>>> crowd = db.people

Let’s create a vehicle to represent something already in a collection

>>> obj = traffic.insert({'car': 'red'})

Now create a watcher track mongo profile entries created by actions on the selected database

>>> from mongowatch.mongo import watcher
>>> wa = watcher.Watcher(conn,[DBNAME])

Now, let’s add one item to traffic:

>>> obj = traffic.insert({'truck':'blue'})

And we’ll add two people to the crowd:

>>> obj = crowd.insert({'name':'billy'})
>>> obj = crowd.insert({'name':'jane'})

Which resulted in the following actions being recorded in the watcher.

>>> wa.dump()
total ops:
  inserts: 3
summary:
  database: mongowatch_test
     cars
       inserts: 1
     people
       inserts: 2
details:
  ns mongowatch_test.cars
  op insert
  ts 2011-12-13 08:27:05.496000
  millis ...
<BLANKLINE>
  ns mongowatch_test.people
  op insert
  ts 2011-12-13 08:27:05.498000
  millis ...
<BLANKLINE>
  ns mongowatch_test.people
  op insert
  ts 2011-12-13 08:27:05.498000
  millis ...
<BLANKLINE>

Let’s reset the counters

>>> wa.reset()

So now do some more work

>>> crowd.remove({})
>>> traffic.remove({})
>>> obj = crowd.insert({'name':'bonzo'})
This time we stop the watcher explicity
>>> wa.stop()
>>> wa.dump()
total ops:
  inserts: 1
  removes: 2
summary:
  database: mongowatch_test
     cars
       removes: 1
     people
       inserts: 1
       removes: 1
details:
  ns mongowatch_test.people
  op remove
  query {}
  ts 2011-12-13 07:47:51.921000
  millis 0
<BLANKLINE>
  ns mongowatch_test.cars
  op remove
  query {}
  ts 2011-12-13 07:47:51.921000
  millis 0
<BLANKLINE>
  ns mongowatch_test.people
  op insert
  ts 2011-12-13 07:47:51.921000
  millis 0
<BLANKLINE>
>>> conn.disconnect()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mongowatch-0.1.2dev.tar.gz (4.6 kB view details)

Uploaded Source

File details

Details for the file mongowatch-0.1.2dev.tar.gz.

File metadata

File hashes

Hashes for mongowatch-0.1.2dev.tar.gz
Algorithm Hash digest
SHA256 5bdafd04cf9b618910ce255c89d1f71547bcb2c56fe88979e864c7164c179000
MD5 92e956f51ead2f2a38d76643013bb382
BLAKE2b-256 ef1741c2a65b4b8e61e813408430b6eb1c943211835012a934959721c2380cbb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page