Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

63 lines (53 sloc) 1.815 kb
import os
import urllib
import urllib2
import sys
try:
import json
except:
import simplejson as json # need simplejson for python < 2.6
sys.path.append( "." )
sys.path.append( ".." )
sys.path.append( "../../" )
sys.path.append( "../../../" )
import settings
def machine_info(extra_info=""):
"""Get a dict representing the "machine" section of a benchmark result.
ie:
{
"os_name": "OS X",
"os_version": "10.5",
"processor": "2.4 GHz Intel Core 2 Duo",
"memory": "3 GB 667 MHz DDR2 SDRAM",
"extra_info": "Python 2.6"
}
Must have a settings.py file on sys.path that defines "processor" and "memory"
variables.
"""
machine = {}
(machine["os_name"], _, machine["os_version"], _, _) = os.uname()
machine["processor"] = settings.processor
machine["memory"] = settings.memory
machine["extra_info"] = extra_info
return machine
def post_data(data, machine_extra_info="", post_url="http://mongo-db.appspot.com/benchmark"):
"""Post a benchmark data point.
data should be a Python dict that looks like:
{
"benchmark": {
"project": "http://github.com/mongodb/mongo-python-driver",
"name": "insert test",
"description": "test inserting 10000 documents with the C extension enabled",
"tags": ["insert", "python"]
},
"trial": {
"server_hash": "4f5a8d52f47507a70b6c625dfb5dbfc87ba5656a",
"client_hash": "8bf2ad3d397cbde745fd92ad41c5b13976fac2b5",
"result": 67.5,
"extra_info": "some logs or something"
}
}
"""
data["machine"] = machine_info(machine_extra_info)
urllib2.urlopen(post_url, urllib.urlencode({"payload": json.dumps(data)}))
return data
Jump to Line
Something went wrong with that request. Please try again.