Skip to content

Instantly share code, notes, and snippets.

@joshkehn
Last active December 12, 2015 10:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshkehn/4759398 to your computer and use it in GitHub Desktop.
Save joshkehn/4759398 to your computer and use it in GitHub Desktop.
Quick and Dirty MongoDB profiling
import pymongo
class DB (object):
def __init__ (self):
self.connection = pymongo.MongoClient()
self.db = self.connection["profile-testing"]
class MyDatabase (DB):
def __init__ (self, collection="safe"):
super(MyDatabase, self).__init__()
self.collection = self.db[collection]
def insert (self, *args, **kwargs):
return self.collection.insert(*args, **kwargs)
def save (self, *args, **kwargs):
return self.collection.save(*args, **kwargs)
def find (self, *args, **kwargs):
return self.collection.find(*args, **kwargs)
pymongo==2.4.2
wsgiref==0.1.2
275903 function calls (275739 primitive calls) in 107.451 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.000 0.000 <string>:1(<module>)
1 0.000 0.000 0.000 0.000 <string>:1(ParseResult)
1 0.000 0.000 0.000 0.000 <string>:1(SplitResult)
2 0.000 0.000 0.000 0.000 UserDict.py:18(__getitem__)
14 0.000 0.000 0.000 0.000 UserDict.py:58(get)
16 0.000 0.000 0.000 0.000 UserDict.py:70(__contains__)
1 0.000 0.000 0.000 0.000 __future__.py:48(<module>)
1 0.000 0.000 0.000 0.000 __future__.py:74(_Feature)
7 0.000 0.000 0.000 0.000 __future__.py:75(__init__)
1 0.000 0.000 0.000 0.000 __init__.py:10(<module>)
3 0.000 0.000 0.000 0.000 __init__.py:104(CFunctionType)
14 0.000 0.000 0.000 0.000 __init__.py:147(_check_size)
1 0.001 0.001 0.047 0.047 __init__.py:15(<module>)
1 0.000 0.000 0.000 0.000 __init__.py:159(py_object)
1 0.002 0.002 0.021 0.021 __init__.py:16(<module>)
1 0.000 0.000 0.000 0.000 __init__.py:168(c_short)
1 0.000 0.000 0.000 0.000 __init__.py:172(c_ushort)
1 0.000 0.000 0.000 0.000 __init__.py:176(c_long)
1 0.000 0.000 0.000 0.000 __init__.py:180(c_ulong)
1 0.000 0.000 0.000 0.000 __init__.py:189(c_int)
1 0.000 0.000 0.000 0.000 __init__.py:193(c_uint)
1 0.000 0.000 0.000 0.000 __init__.py:197(c_float)
1 0.000 0.000 0.000 0.000 __init__.py:201(c_double)
1 0.000 0.000 0.000 0.000 __init__.py:205(c_longdouble)
1 0.000 0.000 0.000 0.000 __init__.py:226(c_ubyte)
1 0.000 0.000 0.000 0.000 __init__.py:233(c_byte)
1 0.000 0.000 0.000 0.000 __init__.py:238(c_char)
1 0.000 0.000 0.000 0.000 __init__.py:243(c_char_p)
1 0.000 0.000 0.000 0.000 __init__.py:255(c_void_p)
1 0.000 0.000 0.000 0.000 __init__.py:260(c_bool)
1 0.000 0.000 0.000 0.000 __init__.py:275(c_wchar_p)
1 0.000 0.000 0.000 0.000 __init__.py:278(c_wchar)
1 0.000 0.000 0.000 0.000 __init__.py:320(CDLL)
3 0.000 0.000 0.000 0.000 __init__.py:337(__init__)
3 0.000 0.000 0.000 0.000 __init__.py:347(_FuncPtr)
4 0.000 0.000 0.000 0.000 __init__.py:363(__getattr__)
4 0.000 0.000 0.000 0.000 __init__.py:370(__getitem__)
1 0.000 0.000 0.000 0.000 __init__.py:376(PyDLL)
1 0.004 0.004 0.005 0.005 __init__.py:4(<module>)
1 0.000 0.000 0.000 0.000 __init__.py:416(LibraryLoader)
2 0.000 0.000 0.000 0.000 __init__.py:417(__init__)
3 0.000 0.000 0.000 0.000 __init__.py:483(PYFUNCTYPE)
3 0.000 0.000 0.000 0.000 __init__.py:484(CFunctionType)
1 0.000 0.000 0.000 0.000 __init__.py:53(get_version_string)
1 0.000 0.000 0.000 0.000 __init__.py:542(BSON)
1 0.002 0.002 0.003 0.003 __init__.py:7(<module>)
3 0.000 0.000 0.000 0.000 __init__.py:78(CFUNCTYPE)
1 0.000 0.000 0.000 0.000 _endian.py:22(_swapped_meta)
1 0.000 0.000 0.000 0.000 _endian.py:4(<module>)
1 0.000 0.000 0.000 0.000 _endian.py:45(BigEndianStructure)
1 0.000 0.000 0.000 0.000 atexit.py:37(register)
1 0.000 0.000 0.000 0.000 atexit.py:6(<module>)
1 0.000 0.000 0.000 0.000 base64.py:3(<module>)
1 0.000 0.000 0.000 0.000 binary.py:107(Binary)
1 0.001 0.001 0.013 0.013 binary.py:15(<module>)
1 0.000 0.000 0.000 0.000 binary.py:171(UUIDLegacy)
1 0.000 0.000 0.000 0.000 bisect.py:1(<module>)
1 0.000 0.000 0.000 0.000 calendar.py:126(Calendar)
1 0.000 0.000 0.000 0.000 calendar.py:132(__init__)
1 0.000 0.000 0.000 0.000 calendar.py:138(setfirstweekday)
1 0.000 0.000 0.000 0.000 calendar.py:21(IllegalMonthError)
1 0.000 0.000 0.000 0.000 calendar.py:255(TextCalendar)
1 0.000 0.000 0.000 0.000 calendar.py:28(IllegalWeekdayError)
1 0.000 0.000 0.000 0.000 calendar.py:372(HTMLCalendar)
1 0.000 0.000 0.000 0.000 calendar.py:47(_localized_month)
1 0.000 0.000 0.000 0.000 calendar.py:484(TimeEncoding)
1 0.000 0.000 0.000 0.000 calendar.py:496(LocaleTextCalendar)
2 0.000 0.000 0.000 0.000 calendar.py:52(__init__)
1 0.000 0.000 0.000 0.000 calendar.py:531(LocaleHTMLCalendar)
1 0.001 0.001 0.001 0.001 calendar.py:6(<module>)
1 0.000 0.000 0.000 0.000 calendar.py:66(_localized_day)
2 0.000 0.000 0.000 0.000 calendar.py:71(__init__)
1 0.000 0.000 0.000 0.000 code.py:16(<module>)
1 0.000 0.000 0.000 0.000 code.py:18(Code)
1 0.001 0.001 0.001 0.001 collection.py:15(<module>)
2 0.000 0.000 0.000 0.000 collection.py:156(full_name)
2006 0.002 0.000 0.002 0.000 collection.py:176(database)
1 0.000 0.000 0.000 0.000 collection.py:186(__get_uuid_subtype)
3000 0.032 0.000 107.296 0.036 collection.py:204(save)
1000 0.022 0.000 35.887 0.036 collection.py:274(insert)
2000 0.039 0.000 71.372 0.036 collection.py:364(update)
1 0.000 0.000 0.000 0.000 collection.py:42(Collection)
1 0.000 0.000 0.000 0.000 collection.py:46(__init__)
1 0.000 0.000 0.000 0.000 collection.py:602(find)
1 0.001 0.001 0.002 0.002 collections.py:1(<module>)
2 0.001 0.001 0.002 0.001 collections.py:237(namedtuple)
1 0.000 0.000 0.000 0.000 collections.py:25(OrderedDict)
99 0.000 0.000 0.000 0.000 collections.py:277(<genexpr>)
13 0.000 0.000 0.000 0.000 collections.py:294(<genexpr>)
1 0.000 0.000 0.000 0.000 collections.py:355(Counter)
2 0.000 0.000 0.000 0.000 common.py:114(validate_read_preference)
2 0.000 0.000 0.000 0.000 common.py:122(validate_tag_sets)
1 0.000 0.000 0.001 0.001 common.py:16(<module>)
1 0.000 0.000 0.000 0.000 common.py:188(WriteConcern)
3 0.000 0.000 0.000 0.000 common.py:190(__init__)
1 0.000 0.000 0.000 0.000 common.py:204(BaseObject)
3 0.000 0.000 0.000 0.000 common.py:211(__init__)
3 0.000 0.000 0.000 0.000 common.py:251(__set_options)
2 0.000 0.000 0.000 0.000 common.py:287(__get_write_concern)
6 0.000 0.000 0.000 0.000 common.py:29(validate_boolean)
4 0.000 0.000 0.000 0.000 common.py:335(__get_slave_okay)
3 0.000 0.000 0.000 0.000 common.py:352(__get_read_pref)
3 0.000 0.000 0.000 0.000 common.py:367(__get_acceptable_latency)
3 0.000 0.000 0.000 0.000 common.py:386(__get_tag_sets)
2 0.000 0.000 0.000 0.000 common.py:408(__get_safe)
1 0.000 0.000 0.000 0.000 common.py:42(validate_integer)
3000 0.015 0.000 0.022 0.000 common.py:494(_get_write_mode)
3000 0.004 0.000 0.005 0.000 common.py:508(pop1)
1 0.000 0.000 0.000 0.000 common.py:55(validate_positive_integer)
2 0.000 0.000 0.000 0.000 common.py:87(validate_positive_float)
1 0.001 0.001 0.042 0.042 connection.py:38(<module>)
1 0.000 0.000 0.000 0.000 connection.py:43(Connection)
1 0.000 0.000 0.000 0.000 coros.py:1(<module>)
1 0.000 0.000 0.000 0.000 coros.py:131(DummySemaphore)
1 0.000 0.000 0.000 0.000 coros.py:14(Semaphore)
1 0.000 0.000 0.000 0.000 coros.py:162(BoundedSemaphore)
1 0.000 0.000 0.000 0.000 coros.py:179(RLock)
1 0.000 0.000 0.000 0.000 cursor.py:144(__del__)
1 0.000 0.000 0.000 0.000 cursor.py:15(<module>)
1 0.000 0.000 0.000 0.000 cursor.py:210(__query_spec)
1 0.000 0.000 0.000 0.000 cursor.py:288(__query_options)
1 0.000 0.000 0.000 0.000 cursor.py:40(Cursor)
1 0.000 0.000 0.000 0.000 cursor.py:44(__init__)
2 0.000 0.000 0.015 0.008 cursor.py:685(__send_message)
3 0.000 0.000 0.015 0.005 cursor.py:741(_refresh)
1 0.000 0.000 0.000 0.000 cursor.py:807(__iter__)
2001 0.019 0.000 0.053 0.000 cursor.py:810(next)
1 0.000 0.000 0.000 0.000 cursor_manager.py:24(<module>)
1 0.000 0.000 0.000 0.000 cursor_manager.py:29(CursorManager)
1 0.000 0.000 0.000 0.000 cursor_manager.py:35(__init__)
1 0.000 0.000 0.000 0.000 cursor_manager.py:57(BatchCursorManager)
3005 0.002 0.000 0.002 0.000 database.py:120(connection)
1 0.000 0.000 0.000 0.000 database.py:130(name)
1 0.001 0.001 0.002 0.002 database.py:15(<module>)
1 0.000 0.000 0.000 0.000 database.py:192(__getattr__)
1 0.000 0.000 0.000 0.000 database.py:202(__getitem__)
3000 0.012 0.000 0.048 0.000 database.py:250(_fix_incoming)
2000 0.014 0.000 0.014 0.000 database.py:263(_fix_outgoing)
1 0.000 0.000 0.000 0.000 database.py:32(_check_name)
1 0.000 0.000 0.000 0.000 database.py:44(Database)
1 0.000 0.000 0.000 0.000 database.py:48(__init__)
1 0.000 0.000 0.000 0.000 database.py:803(SystemJS)
1 0.000 0.000 0.000 0.000 database.py:87(add_son_manipulator)
2 0.000 0.000 0.000 0.000 database.py:95(method_overwritten)
1 0.000 0.000 0.000 0.000 dbref.py:15(<module>)
1 0.000 0.000 0.000 0.000 dbref.py:22(DBRef)
28 0.000 0.000 0.000 0.000 dyld.py:103(dyld_default_search)
4 0.000 0.000 0.001 0.000 dyld.py:125(dyld_find)
8 0.000 0.000 0.000 0.000 dyld.py:34(ensure_utf8)
10 0.000 0.000 0.000 0.000 dyld.py:40(dyld_env)
4 0.000 0.000 0.000 0.000 dyld.py:48(dyld_image_suffix)
1 0.000 0.000 0.000 0.000 dyld.py:53(dyld_framework_path)
4 0.000 0.000 0.000 0.000 dyld.py:56(dyld_library_path)
1 0.000 0.000 0.000 0.000 dyld.py:59(dyld_fallback_framework_path)
1 0.001 0.001 0.005 0.005 dyld.py:6(<module>)
4 0.000 0.000 0.000 0.000 dyld.py:62(dyld_fallback_library_path)
4 0.000 0.000 0.000 0.000 dyld.py:65(dyld_image_suffix_search)
4 0.000 0.000 0.000 0.000 dyld.py:79(dyld_override_search)
4 0.000 0.000 0.000 0.000 dyld.py:96(dyld_executable_path_search)
1 0.000 0.000 0.002 0.002 dylib.py:6(<module>)
1 0.000 0.000 0.000 0.000 errors.py:101(UnsupportedOption)
2 0.001 0.000 0.001 0.000 errors.py:15(<module>)
1 0.000 0.000 0.000 0.000 errors.py:18(BSONError)
1 0.000 0.000 0.000 0.000 errors.py:20(PyMongoError)
1 0.000 0.000 0.000 0.000 errors.py:23(InvalidBSON)
1 0.000 0.000 0.000 0.000 errors.py:27(ConnectionFailure)
1 0.000 0.000 0.000 0.000 errors.py:28(InvalidStringData)
1 0.000 0.000 0.000 0.000 errors.py:32(AutoReconnect)
1 0.000 0.000 0.000 0.000 errors.py:33(InvalidDocument)
1 0.000 0.000 0.000 0.000 errors.py:38(InvalidId)
1 0.000 0.000 0.000 0.000 errors.py:47(ConfigurationError)
1 0.000 0.000 0.000 0.000 errors.py:52(OperationFailure)
1 0.000 0.000 0.000 0.000 errors.py:64(TimeoutError)
1 0.000 0.000 0.000 0.000 errors.py:71(DuplicateKeyError)
1 0.000 0.000 0.000 0.000 errors.py:80(InvalidOperation)
1 0.000 0.000 0.000 0.000 errors.py:85(InvalidName)
1 0.000 0.000 0.000 0.000 errors.py:90(CollectionInvalid)
1 0.000 0.000 0.000 0.000 errors.py:95(InvalidURI)
1 0.000 0.000 0.000 0.000 event.py:118(AsyncResult)
1 0.000 0.000 0.000 0.000 event.py:13(Event)
1 0.000 0.000 0.000 0.000 event.py:2(<module>)
8 0.000 0.000 0.000 0.000 framework.py:22(framework_info)
1 0.000 0.000 0.003 0.003 framework.py:6(<module>)
24 0.000 0.000 0.000 0.000 genericpath.py:26(isfile)
1 0.000 0.000 0.000 0.000 greenlet.py:103(SuccessGreenletLink)
1 0.000 0.000 0.000 0.000 greenlet.py:116(FailureGreenletLink)
1 0.000 0.000 0.000 0.000 greenlet.py:129(Greenlet)
1 0.000 0.000 0.000 0.000 greenlet.py:15(SpawnedLink)
1 0.001 0.001 0.002 0.002 greenlet.py:3(<module>)
1 0.000 0.000 0.000 0.000 greenlet.py:46(SuccessSpawnedLink)
1 0.000 0.000 0.000 0.000 greenlet.py:550(LinkedExited)
1 0.000 0.000 0.000 0.000 greenlet.py:554(LinkedCompleted)
1 0.000 0.000 0.000 0.000 greenlet.py:565(LinkedKilled)
1 0.000 0.000 0.000 0.000 greenlet.py:578(LinkedFailed)
1 0.000 0.000 0.000 0.000 greenlet.py:58(FailureSpawnedLink)
1 0.000 0.000 0.000 0.000 greenlet.py:70(GreenletLink)
1 0.000 0.000 0.000 0.000 hashlib.py:55(<module>)
6 0.000 0.000 0.000 0.000 hashlib.py:94(__get_openssl_constructor)
1 0.001 0.001 0.001 0.001 heapq.py:31(<module>)
3001 0.011 0.000 0.011 0.000 helpers.py:116(_check_command_response)
1 0.000 0.000 0.000 0.000 helpers.py:15(<module>)
3003 0.039 0.000 0.101 0.000 helpers.py:78(_unpack_response)
1 0.000 0.000 0.000 0.000 hub.py:142(Hub)
1 0.000 0.000 0.000 0.000 hub.py:214(DispatchExit)
1 0.000 0.000 0.000 0.000 hub.py:221(Waiter)
1 0.000 0.000 0.000 0.000 hub.py:3(<module>)
1 0.000 0.000 0.000 0.000 hub.py:337(_NONE)
1 0.000 0.000 0.000 0.000 keyword.py:11(<module>)
1 0.000 0.000 0.000 0.000 local.py:128(<module>)
1 0.000 0.000 0.000 0.000 local.py:137(_localbase)
1 0.000 0.000 0.000 0.000 local.py:170(local)
1 0.000 0.000 0.000 0.000 max_key.py:16(<module>)
1 0.000 0.000 0.000 0.000 max_key.py:19(MaxKey)
1 0.000 0.000 0.000 0.000 message.py:23(<module>)
1 0.000 0.000 0.000 0.000 min_key.py:16(<module>)
1 0.000 0.000 0.000 0.000 min_key.py:19(MinKey)
1 0.000 0.000 0.048 0.048 mongo.py:1(<module>)
3000 0.014 0.000 107.310 0.036 mongo.py:14(save)
1 0.000 0.000 0.000 0.000 mongo.py:16(find)
1 0.000 0.000 0.000 0.000 mongo.py:3(DB)
1 0.000 0.000 0.002 0.002 mongo.py:4(__init__)
1 0.000 0.000 0.000 0.000 mongo.py:8(MyDatabase)
1 0.000 0.000 0.002 0.002 mongo.py:9(__init__)
1 0.000 0.000 0.000 0.000 mongo_client.py:1013(__getattr__)
1 0.000 0.000 0.000 0.000 mongo_client.py:1024(__getitem__)
1 0.004 0.004 0.041 0.041 mongo_client.py:35(<module>)
1 0.000 0.000 0.000 0.000 mongo_client.py:417(is_mongos)
3003 0.004 0.000 0.004 0.000 mongo_client.py:451(auto_start_request)
1 0.000 0.000 0.000 0.000 mongo_client.py:457(get_document_class)
1 0.000 0.000 0.000 0.000 mongo_client.py:470(tz_aware)
1 0.000 0.000 0.000 0.000 mongo_client.py:487(__simple_command)
1 0.000 0.000 0.001 0.001 mongo_client.py:518(__try_node)
1 0.000 0.000 0.001 0.001 mongo_client.py:591(__find_node)
3003 0.019 0.000 0.101 0.000 mongo_client.py:651(__socket)
1 0.000 0.000 0.000 0.000 mongo_client.py:677(disconnect)
3000 0.029 0.000 0.133 0.000 mongo_client.py:760(__check_response_to_last_error)
1 0.000 0.000 0.000 0.000 mongo_client.py:77(MongoClient)
3002 0.007 0.000 0.008 0.000 mongo_client.py:799(__check_bson_size)
3000 0.060 0.000 107.037 0.036 mongo_client.py:820(_send_message)
1 0.000 0.000 0.001 0.001 mongo_client.py:86(__init__)
6006 0.052 0.000 106.412 0.018 mongo_client.py:866(__receive_data_on_socket)
3003 0.050 0.000 106.473 0.035 mongo_client.py:881(__receive_message_on_socket)
2 0.000 0.000 0.003 0.001 mongo_client.py:895(__send_and_receive)
2 0.000 0.000 0.003 0.001 mongo_client.py:908(_send_message_with_response)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:103(Monitor)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:142(MonitorThread)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:165(MonitorGreenlet)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:184(Member)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:247(MongoReplicaSetClient)
1 0.001 0.001 0.005 0.005 mongo_replica_set_client.py:32(<module>)
1000 0.019 0.000 0.027 0.000 objectid.py:147(__generate)
2000 0.004 0.000 0.005 0.000 objectid.py:169(__validate)
1 0.001 0.001 0.005 0.005 objectid.py:17(<module>)
1 0.000 0.000 0.000 0.000 objectid.py:43(_machine_bytes)
1 0.000 0.000 0.000 0.000 objectid.py:57(ObjectId)
3000 0.004 0.000 0.036 0.000 objectid.py:68(__init__)
1 0.000 0.000 0.000 0.000 os.py:35(_get_exports_list)
1 0.000 0.000 0.000 0.000 os.py:743(urandom)
1 0.000 0.000 0.000 0.000 pool.py:105(BasePool)
1 0.000 0.000 0.000 0.000 pool.py:106(__init__)
1 0.000 0.000 0.000 0.000 pool.py:140(reset)
1 0.002 0.002 0.002 0.002 pool.py:15(<module>)
1 0.000 0.000 0.001 0.001 pool.py:158(create_connection)
1 0.000 0.000 0.001 0.001 pool.py:211(connect)
3003 0.034 0.000 0.078 0.000 pool.py:229(get_socket)
3003 0.043 0.000 0.170 0.000 pool.py:324(maybe_return_socket)
3003 0.022 0.000 0.047 0.000 pool.py:336(_return_socket)
3002 0.012 0.000 0.014 0.000 pool.py:348(_check)
6006 0.017 0.000 0.042 0.000 pool.py:423(_get_request_state)
1 0.000 0.000 0.000 0.000 pool.py:444(Pool)
1 0.000 0.000 0.000 0.000 pool.py:450(__init__)
1 0.000 0.000 0.000 0.000 pool.py:460(ThreadVigil)
6006 0.014 0.000 0.023 0.000 pool.py:463(_get_thread_ident)
1 0.000 0.000 0.000 0.000 pool.py:473(GreenletPool)
1 0.000 0.000 0.000 0.000 pool.py:499(Request)
1 0.000 0.000 0.000 0.000 pool.py:63(SocketInfo)
1 0.000 0.000 0.000 0.000 pool.py:66(__init__)
9009 0.012 0.000 0.047 0.000 pool.py:84(__eq__)
3003 0.006 0.000 0.017 0.000 pool.py:89(__ne__)
3003 0.004 0.000 0.005 0.000 pool.py:92(__hash__)
16 0.000 0.000 0.000 0.000 posixpath.py:110(basename)
2 0.000 0.000 0.000 0.000 posixpath.py:249(expanduser)
20 0.000 0.000 0.000 0.000 posixpath.py:60(join)
1 0.000 0.000 0.000 0.000 pprint.py:35(<module>)
1 0.000 0.000 0.000 0.000 pprint.py:81(PrettyPrinter)
1 0.000 0.000 0.000 0.000 py3compat.py:15(<module>)
29 0.000 0.000 0.000 0.000 py3compat.py:48(b)
1 0.000 0.000 0.000 0.000 random.py:100(seed)
1 0.000 0.000 0.000 0.000 random.py:173(randrange)
1 0.000 0.000 0.000 0.000 random.py:237(randint)
1 0.002 0.002 0.002 0.002 random.py:40(<module>)
1 0.000 0.000 0.000 0.000 random.py:653(WichmannHill)
1 0.000 0.000 0.000 0.000 random.py:72(Random)
1 0.000 0.000 0.000 0.000 random.py:803(SystemRandom)
1 0.000 0.000 0.000 0.000 random.py:91(__init__)
6 0.000 0.000 0.005 0.001 re.py:188(compile)
6 0.000 0.000 0.005 0.001 re.py:228(_compile)
1 0.000 0.000 0.001 0.001 read_preferences.py:15(<module>)
1 0.000 0.000 0.000 0.000 read_preferences.py:190(MovingAverage)
1 0.000 0.000 0.000 0.000 read_preferences.py:23(ReadPreference)
1 0.000 0.000 0.000 0.000 replica_set_connection.py:35(<module>)
1 0.000 0.000 0.000 0.000 replica_set_connection.py:40(ReplicaSetConnection)
1 0.038 0.038 107.451 107.451 safe.py:1(<module>)
1 0.000 0.000 0.000 0.000 socket.py:167(_closedsocket)
1 0.000 0.000 0.000 0.000 socket.py:179(_socketobject)
1 0.000 0.000 0.000 0.000 socket.py:185(__init__)
3007 0.010 0.000 0.097 0.000 socket.py:223(meth)
1 0.000 0.000 0.000 0.000 socket.py:235(_fileobject)
1 0.002 0.002 0.002 0.002 socket.py:45(<module>)
1 0.000 0.000 0.000 0.000 son.py:19(<module>)
1 0.000 0.000 0.000 0.000 son.py:24(SON)
1 0.000 0.000 0.000 0.000 son_manipulator.py:110(AutoReference)
1 0.000 0.000 0.000 0.000 son_manipulator.py:19(<module>)
1 0.000 0.000 0.000 0.000 son_manipulator.py:26(SONManipulator)
1 0.000 0.000 0.000 0.000 son_manipulator.py:32(will_copy)
1 0.000 0.000 0.000 0.000 son_manipulator.py:65(ObjectIdInjector)
3000 0.007 0.000 0.036 0.000 son_manipulator.py:69(transform_incoming)
1 0.000 0.000 0.000 0.000 son_manipulator.py:80(ObjectIdShuffler)
1 0.000 0.000 0.000 0.000 son_manipulator.py:99(NamespaceInjector)
4 0.000 0.000 0.000 0.000 sre_compile.py:178(_compile_charset)
4 0.000 0.000 0.000 0.000 sre_compile.py:207(_optimize_charset)
8 0.000 0.000 0.000 0.000 sre_compile.py:24(_identityfunction)
37/5 0.000 0.000 0.001 0.000 sre_compile.py:32(_compile)
12 0.000 0.000 0.000 0.000 sre_compile.py:354(_simple)
5 0.000 0.000 0.000 0.000 sre_compile.py:361(_compile_info)
10 0.000 0.000 0.000 0.000 sre_compile.py:474(isstring)
5 0.000 0.000 0.001 0.000 sre_compile.py:480(_code)
5 0.000 0.000 0.005 0.001 sre_compile.py:495(compile)
112 0.000 0.000 0.000 0.000 sre_parse.py:126(__len__)
196 0.000 0.000 0.000 0.000 sre_parse.py:130(__getitem__)
24 0.000 0.000 0.000 0.000 sre_parse.py:134(__setitem__)
152 0.000 0.000 0.000 0.000 sre_parse.py:138(append)
49/17 0.000 0.000 0.000 0.000 sre_parse.py:140(getwidth)
7 0.000 0.000 0.000 0.000 sre_parse.py:178(__init__)
637 0.001 0.000 0.001 0.000 sre_parse.py:182(__next)
275 0.000 0.000 0.000 0.000 sre_parse.py:195(match)
490 0.000 0.000 0.001 0.000 sre_parse.py:201(get)
154 0.000 0.000 0.000 0.000 sre_parse.py:210(isident)
22 0.000 0.000 0.000 0.000 sre_parse.py:216(isname)
8 0.000 0.000 0.000 0.000 sre_parse.py:257(_escape)
39/7 0.000 0.000 0.004 0.001 sre_parse.py:301(_parse_sub)
43/7 0.001 0.000 0.004 0.001 sre_parse.py:379(_parse)
7/5 0.000 0.000 0.004 0.001 sre_parse.py:663(parse)
7 0.000 0.000 0.000 0.000 sre_parse.py:67(__init__)
20 0.000 0.000 0.000 0.000 sre_parse.py:72(opengroup)
20 0.000 0.000 0.000 0.000 sre_parse.py:83(closegroup)
71 0.000 0.000 0.000 0.000 sre_parse.py:90(__init__)
1 0.000 0.000 0.001 0.001 ssl.py:56(<module>)
1 0.000 0.000 0.000 0.000 ssl.py:94(SSLSocket)
1 0.000 0.000 0.000 0.000 stat.py:24(S_IFMT)
1 0.000 0.000 0.000 0.000 stat.py:49(S_ISREG)
1 0.001 0.001 0.004 0.004 threading.py:1(<module>)
1 0.000 0.000 0.000 0.000 threading.py:104(_RLock)
2 0.000 0.000 0.000 0.000 threading.py:181(Condition)
1 0.000 0.000 0.000 0.000 threading.py:184(_Condition)
2 0.000 0.000 0.000 0.000 threading.py:186(__init__)
1 0.000 0.000 0.000 0.000 threading.py:226(_is_owned)
1 0.000 0.000 0.000 0.000 threading.py:277(notify)
1 0.000 0.000 0.000 0.000 threading.py:295(notifyAll)
1 0.000 0.000 0.000 0.000 threading.py:304(_Semaphore)
1 0.000 0.000 0.000 0.000 threading.py:352(_BoundedSemaphore)
1 0.000 0.000 0.000 0.000 threading.py:364(Event)
1 0.000 0.000 0.000 0.000 threading.py:367(_Event)
1 0.000 0.000 0.000 0.000 threading.py:371(__init__)
1 0.000 0.000 0.000 0.000 threading.py:385(set)
1 0.000 0.000 0.000 0.000 threading.py:424(Thread)
1 0.000 0.000 0.000 0.000 threading.py:436(__init__)
1 0.000 0.000 0.000 0.000 threading.py:531(_set_ident)
1 0.000 0.000 0.000 0.000 threading.py:56(_Verbose)
4 0.000 0.000 0.000 0.000 threading.py:58(__init__)
1 0.000 0.000 0.000 0.000 threading.py:63(_note)
1 0.000 0.000 0.000 0.000 threading.py:733(_Timer)
1 0.000 0.000 0.000 0.000 threading.py:762(_MainThread)
1 0.000 0.000 0.000 0.000 threading.py:764(__init__)
1 0.000 0.000 0.000 0.000 threading.py:771(_set_daemon)
1 0.000 0.000 0.000 0.000 threading.py:802(_DummyThread)
1 0.000 0.000 0.000 0.000 timeout.py:14(<module>)
1 0.000 0.000 0.000 0.000 timeout.py:33(Timeout)
1 0.000 0.000 0.000 0.000 timestamp.py:16(<module>)
1 0.000 0.000 0.000 0.000 timestamp.py:25(Timestamp)
1 0.000 0.000 0.000 0.000 traceback.py:1(<module>)
1 0.000 0.000 0.000 0.000 tz_util.py:15(<module>)
1 0.000 0.000 0.000 0.000 tz_util.py:23(FixedOffset)
1 0.000 0.000 0.000 0.000 tz_util.py:31(__init__)
1 0.000 0.000 0.000 0.000 tz_util.py:41(utcoffset)
2 0.000 0.000 0.000 0.000 tz_util.py:47(dst)
1 0.000 0.000 0.000 0.000 uri_parser.py:112(parse_host)
1 0.001 0.001 0.005 0.005 uri_parser.py:16(<module>)
1 0.000 0.000 0.000 0.000 uri_parser.py:184(split_hosts)
1 0.000 0.000 0.000 0.000 urllib.py:107(ContentTooShortError)
1 0.000 0.000 0.000 0.000 urllib.py:113(URLopener)
485 0.000 0.000 0.000 0.000 urllib.py:1181(<genexpr>)
1 0.001 0.001 0.004 0.004 urllib.py:23(<module>)
1 0.000 0.000 0.000 0.000 urllib.py:607(FancyURLopener)
1 0.000 0.000 0.000 0.000 urllib.py:849(ftpwrapper)
1 0.000 0.000 0.000 0.000 urllib.py:927(addbase)
1 0.000 0.000 0.000 0.000 urllib.py:956(addclosehook)
1 0.000 0.000 0.000 0.000 urllib.py:971(addinfo)
1 0.000 0.000 0.000 0.000 urllib.py:981(addinfourl)
1 0.000 0.000 0.000 0.000 urlparse.py:112(SplitResult)
1 0.000 0.000 0.000 0.000 urlparse.py:120(ParseResult)
1 0.000 0.000 0.002 0.002 urlparse.py:29(<module>)
485 0.000 0.000 0.001 0.000 urlparse.py:314(<genexpr>)
1 0.000 0.000 0.000 0.000 urlparse.py:67(ResultMixin)
1 0.000 0.000 0.006 0.006 util.py:4(<module>)
2 0.000 0.000 0.001 0.000 util.py:76(find_library)
4 0.000 0.000 0.000 0.000 uuid.py:101(__init__)
1 0.001 0.001 0.012 0.012 uuid.py:45(<module>)
1 0.000 0.000 0.000 0.000 uuid.py:53(UUID)
1 0.000 0.000 0.000 0.000 warnings.py:45(filterwarnings)
2 0.000 0.000 0.000 0.000 {__import__}
2 0.000 0.000 0.000 0.000 {_ctypes.POINTER}
3 0.000 0.000 0.000 0.000 {_ctypes.dlopen}
1 0.000 0.000 0.000 0.000 {_ctypes.set_conversion_mode}
38 0.000 0.000 0.000 0.000 {_ctypes.sizeof}
2 0.000 0.000 0.000 0.000 {_hashlib.openssl_md5}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha1}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha224}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha256}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha384}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha512}
1 0.001 0.001 0.001 0.001 {_socket.getaddrinfo}
1 0.000 0.000 0.000 0.000 {_socket.gethostname}
5 0.000 0.000 0.000 0.000 {_sre.compile}
12 0.000 0.000 0.000 0.000 {_sre.getlower}
18 0.000 0.000 0.000 0.000 {_struct.calcsize}
3000 0.005 0.000 0.005 0.000 {_struct.pack}
21021 0.019 0.000 0.019 0.000 {_struct.unpack}
13 0.000 0.000 0.000 0.000 {all}
1 0.000 0.000 0.000 0.000 {binascii.hexlify}
3003 0.045 0.000 0.052 0.000 {bson._cbson.decode_all}
1 0.000 0.000 0.000 0.000 {built-in method fromtimestamp}
1 0.000 0.000 0.000 0.000 {built-in method utcfromtimestamp}
1224 0.000 0.000 0.000 0.000 {chr}
1 0.000 0.000 0.000 0.000 {dir}
1 0.000 0.000 0.000 0.000 {function seed at 0x10b58fe60}
3041 0.003 0.000 0.003 0.000 {getattr}
6 0.000 0.000 0.000 0.000 {globals}
1 0.000 0.000 0.000 0.000 {greenlet.getcurrent}
15020 0.041 0.000 0.041 0.000 {hasattr}
3003 0.001 0.000 0.001 0.000 {hash}
6006 0.002 0.000 0.002 0.000 {id}
16258 0.005 0.000 0.005 0.000 {isinstance}
1 0.000 0.000 0.000 0.000 {issubclass}
20571/20541 0.011 0.000 0.011 0.000 {len}
2 0.000 0.000 0.000 0.000 {locals}
3 0.000 0.000 0.000 0.000 {map}
1 0.000 0.000 0.000 0.000 {math.exp}
2 0.000 0.000 0.000 0.000 {math.log}
1 0.000 0.000 0.000 0.000 {math.sqrt}
4 0.000 0.000 0.000 0.000 {max}
13 0.000 0.000 0.000 0.000 {method '__contains__' of 'frozenset' objects}
7009 0.013 0.000 0.013 0.000 {method 'acquire' of 'thread.lock' objects}
3014 0.009 0.000 0.015 0.000 {method 'add' of 'set' objects}
555 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects}
1 0.000 0.000 0.000 0.000 {method 'connect' of '_socket.socket' objects}
4 0.000 0.000 0.000 0.000 {method 'count' of 'list' objects}
1 0.000 0.000 0.000 0.000 {method 'digest' of '_hashlib.HASH' objects}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
22 0.000 0.000 0.000 0.000 {method 'endswith' of 'str' objects}
3 0.000 0.000 0.000 0.000 {method 'extend' of 'list' objects}
3 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects}
191 0.000 0.000 0.000 0.000 {method 'format' of 'str' objects}
18065 0.013 0.000 0.013 0.000 {method 'get' of 'dict' objects}
2 0.000 0.000 0.000 0.000 {method 'groupdict' of '_sre.SRE_Match' objects}
3 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects}
86 0.000 0.000 0.000 0.000 {method 'isalnum' of 'str' objects}
13 0.000 0.000 0.000 0.000 {method 'isdigit' of 'str' objects}
7 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects}
4 0.000 0.000 0.000 0.000 {method 'iteritems' of 'dict' objects}
2000 0.001 0.000 0.001 0.000 {method 'iterkeys' of 'dict' objects}
3 0.000 0.000 0.000 0.000 {method 'join' of 'str' objects}
1 0.000 0.000 0.000 0.000 {method 'lower' of 'str' objects}
8 0.000 0.000 0.000 0.000 {method 'match' of '_sre.SRE_Pattern' objects}
6 0.000 0.000 0.000 0.000 {method 'pop' of 'dict' objects}
3003 0.002 0.000 0.002 0.000 {method 'pop' of 'set' objects}
2000 0.001 0.000 0.001 0.000 {method 'popleft' of 'collections.deque' objects}
1 0.000 0.000 0.000 0.000 {method 'random' of '_random.Random' objects}
6006 106.355 0.018 106.355 0.018 {method 'recv' of '_socket.socket' objects}
7008 0.005 0.000 0.005 0.000 {method 'release' of 'thread.lock' objects}
20 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects}
16 0.000 0.000 0.000 0.000 {method 'replace' of 'str' objects}
16 0.000 0.000 0.000 0.000 {method 'rfind' of 'str' objects}
2 0.000 0.000 0.000 0.000 {method 'rstrip' of 'str' objects}
3003 0.084 0.000 0.084 0.000 {method 'sendall' of '_socket.socket' objects}
1 0.000 0.000 0.000 0.000 {method 'setsockopt' of '_socket.socket' objects}
2 0.000 0.000 0.000 0.000 {method 'setter' of 'property' objects}
2 0.000 0.000 0.000 0.000 {method 'settimeout' of '_socket.socket' objects}
1 0.000 0.000 0.000 0.000 {method 'sort' of 'list' objects}
5 0.000 0.000 0.000 0.000 {method 'split' of 'str' objects}
43 0.000 0.000 0.000 0.000 {method 'startswith' of 'str' objects}
2000 0.006 0.000 0.006 0.000 {method 'startswith' of 'unicode' objects}
4 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects}
1 0.000 0.000 0.000 0.000 {method 'toordinal' of 'datetime.date' objects}
1 0.000 0.000 0.000 0.000 {method 'update' of '_hashlib.HASH' objects}
3 0.000 0.000 0.000 0.000 {method 'update' of 'dict' objects}
1 0.000 0.000 0.000 0.000 {method 'update' of 'set' objects}
78 0.000 0.000 0.000 0.000 {min}
95 0.000 0.000 0.000 0.000 {ord}
1 0.000 0.000 0.000 0.000 {posix.close}
7008 0.004 0.000 0.004 0.000 {posix.getpid}
1 0.000 0.000 0.000 0.000 {posix.open}
1 0.000 0.000 0.000 0.000 {posix.read}
24 0.000 0.000 0.000 0.000 {posix.stat}
2 0.000 0.000 0.000 0.000 {posix.uname}
1 0.000 0.000 0.000 0.000 {pymongo._cmessage._get_more_message}
1000 0.022 0.000 0.022 0.000 {pymongo._cmessage._insert_message}
2 0.000 0.000 0.000 0.000 {pymongo._cmessage._query_message}
2000 0.057 0.000 0.057 0.000 {pymongo._cmessage._update_message}
4 0.000 0.000 0.000 0.000 {range}
2 0.000 0.000 0.000 0.000 {repr}
24 0.000 0.000 0.000 0.000 {setattr}
2 0.000 0.000 0.000 0.000 {sys._getframe}
5 0.000 0.000 0.000 0.000 {thread.allocate_lock}
2 0.000 0.000 0.000 0.000 {thread.get_ident}
7008 0.004 0.000 0.004 0.000 {time.time}
1 0.000 0.000 0.000 0.000 {zip}
275903 function calls (275739 primitive calls) in 107.451 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
2006 0.002 0.000 0.002 0.000 collection.py:176(database)
3000 0.032 0.000 107.296 0.036 collection.py:204(save)
1000 0.022 0.000 35.887 0.036 collection.py:274(insert)
2000 0.039 0.000 71.372 0.036 collection.py:364(update)
# This line makes everything lineup because unsafe has an additional __get_safe call
3000 0.015 0.000 0.022 0.000 common.py:494(_get_write_mode)
3000 0.004 0.000 0.005 0.000 common.py:508(pop1)
2001 0.019 0.000 0.053 0.000 cursor.py:810(next)
3005 0.002 0.000 0.002 0.000 database.py:120(connection)
3000 0.012 0.000 0.048 0.000 database.py:250(_fix_incoming)
2000 0.014 0.000 0.014 0.000 database.py:263(_fix_outgoing)
3001 0.011 0.000 0.011 0.000 helpers.py:116(_check_command_response)
3003 0.039 0.000 0.101 0.000 helpers.py:78(_unpack_response)
3000 0.014 0.000 107.310 0.036 mongo.py:14(save)
3003 0.004 0.000 0.004 0.000 mongo_client.py:451(auto_start_request)
3003 0.019 0.000 0.101 0.000 mongo_client.py:651(__socket)
3000 0.029 0.000 0.133 0.000 mongo_client.py:760(__check_response_to_last_error)
3002 0.007 0.000 0.008 0.000 mongo_client.py:799(__check_bson_size)
3000 0.060 0.000 107.037 0.036 mongo_client.py:820(_send_message)
6006 0.052 0.000 106.412 0.018 mongo_client.py:866(__receive_data_on_socket)
3003 0.050 0.000 106.473 0.035 mongo_client.py:881(__receive_message_on_socket)
1000 0.019 0.000 0.027 0.000 objectid.py:147(__generate)
2000 0.004 0.000 0.005 0.000 objectid.py:169(__validate)
3000 0.004 0.000 0.036 0.000 objectid.py:68(__init__)
3003 0.034 0.000 0.078 0.000 pool.py:229(get_socket)
3003 0.043 0.000 0.170 0.000 pool.py:324(maybe_return_socket)
3003 0.022 0.000 0.047 0.000 pool.py:336(_return_socket)
3002 0.012 0.000 0.014 0.000 pool.py:348(_check)
6006 0.017 0.000 0.042 0.000 pool.py:423(_get_request_state)
6006 0.014 0.000 0.023 0.000 pool.py:463(_get_thread_ident)
9009 0.012 0.000 0.047 0.000 pool.py:84(__eq__)
3003 0.006 0.000 0.017 0.000 pool.py:89(__ne__)
3003 0.004 0.000 0.005 0.000 pool.py:92(__hash__)
3007 0.010 0.000 0.097 0.000 socket.py:223(meth)
3000 0.007 0.000 0.036 0.000 son_manipulator.py:69(transform_incoming)
1000 0.022 0.000 0.022 0.000 {pymongo._cmessage._insert_message}
2000 0.057 0.000 0.057 0.000 {pymongo._cmessage._update_message}
from mongo import MyDatabase
safe_write = MyDatabase()
for num in xrange(1000):
safe_write.save({"doc" : True, "value" : num}, j=True)
for doc in safe_write.find():
doc["value"] += 5
safe_write.save(doc, j=True)
188903 function calls (188739 primitive calls) in 0.428 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.000 0.000 <string>:1(<module>)
1 0.000 0.000 0.000 0.000 <string>:1(ParseResult)
1 0.000 0.000 0.000 0.000 <string>:1(SplitResult)
2 0.000 0.000 0.000 0.000 UserDict.py:18(__getitem__)
14 0.000 0.000 0.000 0.000 UserDict.py:58(get)
16 0.000 0.000 0.000 0.000 UserDict.py:70(__contains__)
1 0.000 0.000 0.000 0.000 __future__.py:48(<module>)
1 0.000 0.000 0.000 0.000 __future__.py:74(_Feature)
7 0.000 0.000 0.000 0.000 __future__.py:75(__init__)
1 0.000 0.000 0.000 0.000 __init__.py:10(<module>)
3 0.000 0.000 0.000 0.000 __init__.py:104(CFunctionType)
14 0.000 0.000 0.000 0.000 __init__.py:147(_check_size)
1 0.001 0.001 0.040 0.040 __init__.py:15(<module>)
1 0.000 0.000 0.000 0.000 __init__.py:159(py_object)
1 0.002 0.002 0.016 0.016 __init__.py:16(<module>)
1 0.000 0.000 0.000 0.000 __init__.py:168(c_short)
1 0.000 0.000 0.000 0.000 __init__.py:172(c_ushort)
1 0.000 0.000 0.000 0.000 __init__.py:176(c_long)
1 0.000 0.000 0.000 0.000 __init__.py:180(c_ulong)
1 0.000 0.000 0.000 0.000 __init__.py:189(c_int)
1 0.000 0.000 0.000 0.000 __init__.py:193(c_uint)
1 0.000 0.000 0.000 0.000 __init__.py:197(c_float)
1 0.000 0.000 0.000 0.000 __init__.py:201(c_double)
1 0.000 0.000 0.000 0.000 __init__.py:205(c_longdouble)
1 0.000 0.000 0.000 0.000 __init__.py:226(c_ubyte)
1 0.000 0.000 0.000 0.000 __init__.py:233(c_byte)
1 0.000 0.000 0.000 0.000 __init__.py:238(c_char)
1 0.000 0.000 0.000 0.000 __init__.py:243(c_char_p)
1 0.000 0.000 0.000 0.000 __init__.py:255(c_void_p)
1 0.000 0.000 0.000 0.000 __init__.py:260(c_bool)
1 0.000 0.000 0.000 0.000 __init__.py:275(c_wchar_p)
1 0.000 0.000 0.000 0.000 __init__.py:278(c_wchar)
1 0.000 0.000 0.000 0.000 __init__.py:320(CDLL)
3 0.000 0.000 0.000 0.000 __init__.py:337(__init__)
3 0.000 0.000 0.000 0.000 __init__.py:347(_FuncPtr)
4 0.000 0.000 0.000 0.000 __init__.py:363(__getattr__)
4 0.000 0.000 0.000 0.000 __init__.py:370(__getitem__)
1 0.000 0.000 0.000 0.000 __init__.py:376(PyDLL)
1 0.002 0.002 0.003 0.003 __init__.py:4(<module>)
1 0.000 0.000 0.000 0.000 __init__.py:416(LibraryLoader)
2 0.000 0.000 0.000 0.000 __init__.py:417(__init__)
3 0.000 0.000 0.000 0.000 __init__.py:483(PYFUNCTYPE)
3 0.000 0.000 0.000 0.000 __init__.py:484(CFunctionType)
1 0.000 0.000 0.000 0.000 __init__.py:53(get_version_string)
1 0.000 0.000 0.000 0.000 __init__.py:542(BSON)
1 0.002 0.002 0.003 0.003 __init__.py:7(<module>)
3 0.000 0.000 0.000 0.000 __init__.py:78(CFUNCTYPE)
1 0.000 0.000 0.000 0.000 _endian.py:22(_swapped_meta)
1 0.000 0.000 0.000 0.000 _endian.py:4(<module>)
1 0.000 0.000 0.000 0.000 _endian.py:45(BigEndianStructure)
1 0.000 0.000 0.000 0.000 atexit.py:37(register)
1 0.000 0.000 0.000 0.000 atexit.py:6(<module>)
1 0.000 0.000 0.000 0.000 base64.py:3(<module>)
1 0.000 0.000 0.000 0.000 binary.py:107(Binary)
1 0.001 0.001 0.009 0.009 binary.py:15(<module>)
1 0.000 0.000 0.000 0.000 binary.py:171(UUIDLegacy)
1 0.000 0.000 0.000 0.000 bisect.py:1(<module>)
1 0.000 0.000 0.000 0.000 calendar.py:126(Calendar)
1 0.000 0.000 0.000 0.000 calendar.py:132(__init__)
1 0.000 0.000 0.000 0.000 calendar.py:138(setfirstweekday)
1 0.000 0.000 0.000 0.000 calendar.py:21(IllegalMonthError)
1 0.000 0.000 0.000 0.000 calendar.py:255(TextCalendar)
1 0.000 0.000 0.000 0.000 calendar.py:28(IllegalWeekdayError)
1 0.000 0.000 0.000 0.000 calendar.py:372(HTMLCalendar)
1 0.000 0.000 0.000 0.000 calendar.py:47(_localized_month)
1 0.000 0.000 0.000 0.000 calendar.py:484(TimeEncoding)
1 0.000 0.000 0.000 0.000 calendar.py:496(LocaleTextCalendar)
2 0.000 0.000 0.000 0.000 calendar.py:52(__init__)
1 0.000 0.000 0.000 0.000 calendar.py:531(LocaleHTMLCalendar)
1 0.000 0.000 0.000 0.000 calendar.py:6(<module>)
1 0.000 0.000 0.000 0.000 calendar.py:66(_localized_day)
2 0.000 0.000 0.000 0.000 calendar.py:71(__init__)
1 0.000 0.000 0.000 0.000 code.py:16(<module>)
1 0.000 0.000 0.000 0.000 code.py:18(Code)
1 0.000 0.000 0.001 0.001 collection.py:15(<module>)
2 0.000 0.000 0.000 0.000 collection.py:156(full_name)
1006 0.000 0.000 0.000 0.000 collection.py:176(database)
1 0.000 0.000 0.000 0.000 collection.py:186(__get_uuid_subtype)
2000 0.006 0.000 0.367 0.000 collection.py:204(save)
1000 0.008 0.000 0.188 0.000 collection.py:274(insert)
1000 0.007 0.000 0.172 0.000 collection.py:364(update)
1 0.000 0.000 0.000 0.000 collection.py:42(Collection)
1 0.000 0.000 0.000 0.000 collection.py:46(__init__)
1 0.000 0.000 0.000 0.000 collection.py:602(find)
1 0.001 0.001 0.002 0.002 collections.py:1(<module>)
2 0.001 0.001 0.001 0.001 collections.py:237(namedtuple)
1 0.000 0.000 0.000 0.000 collections.py:25(OrderedDict)
99 0.000 0.000 0.000 0.000 collections.py:277(<genexpr>)
13 0.000 0.000 0.000 0.000 collections.py:294(<genexpr>)
1 0.000 0.000 0.000 0.000 collections.py:355(Counter)
2 0.000 0.000 0.000 0.000 common.py:114(validate_read_preference)
2 0.000 0.000 0.000 0.000 common.py:122(validate_tag_sets)
1 0.000 0.000 0.001 0.001 common.py:16(<module>)
1 0.000 0.000 0.000 0.000 common.py:188(WriteConcern)
3 0.000 0.000 0.000 0.000 common.py:190(__init__)
1 0.000 0.000 0.000 0.000 common.py:204(BaseObject)
3 0.000 0.000 0.000 0.000 common.py:211(__init__)
3 0.000 0.000 0.000 0.000 common.py:251(__set_options)
2 0.000 0.000 0.000 0.000 common.py:287(__get_write_concern)
6 0.000 0.000 0.000 0.000 common.py:29(validate_boolean)
4 0.000 0.000 0.000 0.000 common.py:335(__get_slave_okay)
3 0.000 0.000 0.000 0.000 common.py:352(__get_read_pref)
3 0.000 0.000 0.000 0.000 common.py:367(__get_acceptable_latency)
3 0.000 0.000 0.000 0.000 common.py:386(__get_tag_sets)
2002 0.001 0.000 0.001 0.000 common.py:408(__get_safe)
1 0.000 0.000 0.000 0.000 common.py:42(validate_integer)
2000 0.006 0.000 0.009 0.000 common.py:494(_get_write_mode)
2000 0.001 0.000 0.002 0.000 common.py:508(pop1)
1 0.000 0.000 0.000 0.000 common.py:55(validate_positive_integer)
2 0.000 0.000 0.000 0.000 common.py:87(validate_positive_float)
1 0.001 0.001 0.035 0.035 connection.py:38(<module>)
1 0.000 0.000 0.000 0.000 connection.py:43(Connection)
1 0.000 0.000 0.000 0.000 coros.py:1(<module>)
1 0.000 0.000 0.000 0.000 coros.py:131(DummySemaphore)
1 0.000 0.000 0.000 0.000 coros.py:14(Semaphore)
1 0.000 0.000 0.000 0.000 coros.py:162(BoundedSemaphore)
1 0.000 0.000 0.000 0.000 coros.py:179(RLock)
1 0.000 0.000 0.000 0.000 cursor.py:144(__del__)
1 0.000 0.000 0.000 0.000 cursor.py:15(<module>)
1 0.000 0.000 0.000 0.000 cursor.py:210(__query_spec)
1 0.000 0.000 0.000 0.000 cursor.py:288(__query_options)
1 0.000 0.000 0.000 0.000 cursor.py:40(Cursor)
1 0.000 0.000 0.000 0.000 cursor.py:44(__init__)
2 0.000 0.000 0.005 0.002 cursor.py:685(__send_message)
3 0.000 0.000 0.005 0.002 cursor.py:741(_refresh)
1 0.000 0.000 0.000 0.000 cursor.py:807(__iter__)
1001 0.003 0.000 0.010 0.000 cursor.py:810(next)
1 0.000 0.000 0.000 0.000 cursor_manager.py:24(<module>)
1 0.000 0.000 0.000 0.000 cursor_manager.py:29(CursorManager)
1 0.000 0.000 0.000 0.000 cursor_manager.py:35(__init__)
1 0.000 0.000 0.000 0.000 cursor_manager.py:57(BatchCursorManager)
2005 0.000 0.000 0.000 0.000 database.py:120(connection)
1 0.000 0.000 0.000 0.000 database.py:130(name)
1 0.001 0.001 0.002 0.002 database.py:15(<module>)
1 0.000 0.000 0.000 0.000 database.py:192(__getattr__)
1 0.000 0.000 0.000 0.000 database.py:202(__getitem__)
2000 0.003 0.000 0.016 0.000 database.py:250(_fix_incoming)
1000 0.002 0.000 0.002 0.000 database.py:263(_fix_outgoing)
1 0.000 0.000 0.000 0.000 database.py:32(_check_name)
1 0.000 0.000 0.000 0.000 database.py:44(Database)
1 0.000 0.000 0.000 0.000 database.py:48(__init__)
1 0.000 0.000 0.000 0.000 database.py:803(SystemJS)
1 0.000 0.000 0.000 0.000 database.py:87(add_son_manipulator)
2 0.000 0.000 0.000 0.000 database.py:95(method_overwritten)
1 0.000 0.000 0.000 0.000 dbref.py:15(<module>)
1 0.000 0.000 0.000 0.000 dbref.py:22(DBRef)
28 0.000 0.000 0.000 0.000 dyld.py:103(dyld_default_search)
4 0.000 0.000 0.001 0.000 dyld.py:125(dyld_find)
8 0.000 0.000 0.000 0.000 dyld.py:34(ensure_utf8)
10 0.000 0.000 0.000 0.000 dyld.py:40(dyld_env)
4 0.000 0.000 0.000 0.000 dyld.py:48(dyld_image_suffix)
1 0.000 0.000 0.000 0.000 dyld.py:53(dyld_framework_path)
4 0.000 0.000 0.000 0.000 dyld.py:56(dyld_library_path)
1 0.000 0.000 0.000 0.000 dyld.py:59(dyld_fallback_framework_path)
1 0.001 0.001 0.004 0.004 dyld.py:6(<module>)
4 0.000 0.000 0.000 0.000 dyld.py:62(dyld_fallback_library_path)
4 0.000 0.000 0.000 0.000 dyld.py:65(dyld_image_suffix_search)
4 0.000 0.000 0.000 0.000 dyld.py:79(dyld_override_search)
4 0.000 0.000 0.000 0.000 dyld.py:96(dyld_executable_path_search)
1 0.000 0.000 0.002 0.002 dylib.py:6(<module>)
1 0.000 0.000 0.000 0.000 errors.py:101(UnsupportedOption)
2 0.001 0.000 0.001 0.000 errors.py:15(<module>)
1 0.000 0.000 0.000 0.000 errors.py:18(BSONError)
1 0.000 0.000 0.000 0.000 errors.py:20(PyMongoError)
1 0.000 0.000 0.000 0.000 errors.py:23(InvalidBSON)
1 0.000 0.000 0.000 0.000 errors.py:27(ConnectionFailure)
1 0.000 0.000 0.000 0.000 errors.py:28(InvalidStringData)
1 0.000 0.000 0.000 0.000 errors.py:32(AutoReconnect)
1 0.000 0.000 0.000 0.000 errors.py:33(InvalidDocument)
1 0.000 0.000 0.000 0.000 errors.py:38(InvalidId)
1 0.000 0.000 0.000 0.000 errors.py:47(ConfigurationError)
1 0.000 0.000 0.000 0.000 errors.py:52(OperationFailure)
1 0.000 0.000 0.000 0.000 errors.py:64(TimeoutError)
1 0.000 0.000 0.000 0.000 errors.py:71(DuplicateKeyError)
1 0.000 0.000 0.000 0.000 errors.py:80(InvalidOperation)
1 0.000 0.000 0.000 0.000 errors.py:85(InvalidName)
1 0.000 0.000 0.000 0.000 errors.py:90(CollectionInvalid)
1 0.000 0.000 0.000 0.000 errors.py:95(InvalidURI)
1 0.000 0.000 0.000 0.000 event.py:118(AsyncResult)
1 0.000 0.000 0.000 0.000 event.py:13(Event)
1 0.000 0.000 0.000 0.000 event.py:2(<module>)
8 0.000 0.000 0.000 0.000 framework.py:22(framework_info)
1 0.000 0.000 0.002 0.002 framework.py:6(<module>)
24 0.000 0.000 0.000 0.000 genericpath.py:26(isfile)
1 0.000 0.000 0.000 0.000 greenlet.py:103(SuccessGreenletLink)
1 0.000 0.000 0.000 0.000 greenlet.py:116(FailureGreenletLink)
1 0.000 0.000 0.000 0.000 greenlet.py:129(Greenlet)
1 0.000 0.000 0.000 0.000 greenlet.py:15(SpawnedLink)
1 0.001 0.001 0.002 0.002 greenlet.py:3(<module>)
1 0.000 0.000 0.000 0.000 greenlet.py:46(SuccessSpawnedLink)
1 0.000 0.000 0.000 0.000 greenlet.py:550(LinkedExited)
1 0.000 0.000 0.000 0.000 greenlet.py:554(LinkedCompleted)
1 0.000 0.000 0.000 0.000 greenlet.py:565(LinkedKilled)
1 0.000 0.000 0.000 0.000 greenlet.py:578(LinkedFailed)
1 0.000 0.000 0.000 0.000 greenlet.py:58(FailureSpawnedLink)
1 0.000 0.000 0.000 0.000 greenlet.py:70(GreenletLink)
1 0.000 0.000 0.000 0.000 hashlib.py:55(<module>)
6 0.000 0.000 0.000 0.000 hashlib.py:94(__get_openssl_constructor)
1 0.000 0.000 0.001 0.001 heapq.py:31(<module>)
2001 0.002 0.000 0.002 0.000 helpers.py:116(_check_command_response)
1 0.000 0.000 0.000 0.000 helpers.py:15(<module>)
2003 0.009 0.000 0.022 0.000 helpers.py:78(_unpack_response)
1 0.000 0.000 0.000 0.000 hub.py:142(Hub)
1 0.000 0.000 0.000 0.000 hub.py:214(DispatchExit)
1 0.000 0.000 0.000 0.000 hub.py:221(Waiter)
1 0.000 0.000 0.000 0.000 hub.py:3(<module>)
1 0.000 0.000 0.000 0.000 hub.py:337(_NONE)
1 0.000 0.000 0.000 0.000 keyword.py:11(<module>)
1 0.000 0.000 0.000 0.000 local.py:128(<module>)
1 0.000 0.000 0.000 0.000 local.py:137(_localbase)
1 0.000 0.000 0.000 0.000 local.py:170(local)
1 0.000 0.000 0.000 0.000 max_key.py:16(<module>)
1 0.000 0.000 0.000 0.000 max_key.py:19(MaxKey)
1 0.000 0.000 0.000 0.000 message.py:23(<module>)
1 0.000 0.000 0.000 0.000 min_key.py:16(<module>)
1 0.000 0.000 0.000 0.000 min_key.py:19(MinKey)
1 0.000 0.000 0.041 0.041 mongo.py:1(<module>)
2000 0.002 0.000 0.369 0.000 mongo.py:14(save)
1 0.000 0.000 0.000 0.000 mongo.py:16(find)
1 0.000 0.000 0.000 0.000 mongo.py:3(DB)
1 0.000 0.000 0.002 0.002 mongo.py:4(__init__)
1 0.000 0.000 0.000 0.000 mongo.py:8(MyDatabase)
1 0.000 0.000 0.002 0.002 mongo.py:9(__init__)
1 0.000 0.000 0.000 0.000 mongo_client.py:1013(__getattr__)
1 0.000 0.000 0.000 0.000 mongo_client.py:1024(__getitem__)
1 0.004 0.004 0.033 0.033 mongo_client.py:35(<module>)
1 0.000 0.000 0.000 0.000 mongo_client.py:417(is_mongos)
2003 0.001 0.000 0.001 0.000 mongo_client.py:451(auto_start_request)
1 0.000 0.000 0.000 0.000 mongo_client.py:457(get_document_class)
1 0.000 0.000 0.000 0.000 mongo_client.py:470(tz_aware)
1 0.000 0.000 0.000 0.000 mongo_client.py:487(__simple_command)
1 0.000 0.000 0.001 0.001 mongo_client.py:518(__try_node)
1 0.000 0.000 0.001 0.001 mongo_client.py:591(__find_node)
2003 0.005 0.000 0.028 0.000 mongo_client.py:651(__socket)
1 0.000 0.000 0.000 0.000 mongo_client.py:677(disconnect)
2000 0.006 0.000 0.026 0.000 mongo_client.py:760(__check_response_to_last_error)
1 0.000 0.000 0.000 0.000 mongo_client.py:77(MongoClient)
2002 0.002 0.000 0.002 0.000 mongo_client.py:799(__check_bson_size)
2000 0.013 0.000 0.301 0.000 mongo_client.py:820(_send_message)
1 0.000 0.000 0.001 0.001 mongo_client.py:86(__init__)
4006 0.009 0.000 0.161 0.000 mongo_client.py:866(__receive_data_on_socket)
2003 0.008 0.000 0.171 0.000 mongo_client.py:881(__receive_message_on_socket)
2 0.000 0.000 0.001 0.000 mongo_client.py:895(__send_and_receive)
2 0.000 0.000 0.001 0.000 mongo_client.py:908(_send_message_with_response)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:103(Monitor)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:142(MonitorThread)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:165(MonitorGreenlet)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:184(Member)
1 0.000 0.000 0.000 0.000 mongo_replica_set_client.py:247(MongoReplicaSetClient)
1 0.001 0.001 0.005 0.005 mongo_replica_set_client.py:32(<module>)
1000 0.007 0.000 0.010 0.000 objectid.py:147(__generate)
1000 0.001 0.000 0.002 0.000 objectid.py:169(__validate)
1 0.001 0.001 0.004 0.004 objectid.py:17(<module>)
1 0.000 0.000 0.000 0.000 objectid.py:43(_machine_bytes)
1 0.000 0.000 0.000 0.000 objectid.py:57(ObjectId)
2000 0.001 0.000 0.014 0.000 objectid.py:68(__init__)
1 0.000 0.000 0.000 0.000 os.py:35(_get_exports_list)
1 0.000 0.000 0.000 0.000 os.py:743(urandom)
1 0.000 0.000 0.000 0.000 pool.py:105(BasePool)
1 0.000 0.000 0.000 0.000 pool.py:106(__init__)
1 0.000 0.000 0.000 0.000 pool.py:140(reset)
1 0.001 0.001 0.002 0.002 pool.py:15(<module>)
1 0.000 0.000 0.001 0.001 pool.py:158(create_connection)
1 0.000 0.000 0.001 0.001 pool.py:211(connect)
2003 0.010 0.000 0.022 0.000 pool.py:229(get_socket)
2003 0.009 0.000 0.037 0.000 pool.py:324(maybe_return_socket)
2003 0.004 0.000 0.010 0.000 pool.py:336(_return_socket)
2002 0.003 0.000 0.003 0.000 pool.py:348(_check)
4006 0.004 0.000 0.011 0.000 pool.py:423(_get_request_state)
1 0.000 0.000 0.000 0.000 pool.py:444(Pool)
1 0.000 0.000 0.000 0.000 pool.py:450(__init__)
1 0.000 0.000 0.000 0.000 pool.py:460(ThreadVigil)
4006 0.004 0.000 0.006 0.000 pool.py:463(_get_thread_ident)
1 0.000 0.000 0.000 0.000 pool.py:473(GreenletPool)
1 0.000 0.000 0.000 0.000 pool.py:499(Request)
1 0.000 0.000 0.000 0.000 pool.py:63(SocketInfo)
1 0.000 0.000 0.000 0.000 pool.py:66(__init__)
6009 0.003 0.000 0.010 0.000 pool.py:84(__eq__)
2003 0.002 0.000 0.005 0.000 pool.py:89(__ne__)
2003 0.001 0.000 0.001 0.000 pool.py:92(__hash__)
16 0.000 0.000 0.000 0.000 posixpath.py:110(basename)
2 0.000 0.000 0.000 0.000 posixpath.py:249(expanduser)
20 0.000 0.000 0.000 0.000 posixpath.py:60(join)
1 0.000 0.000 0.000 0.000 pprint.py:35(<module>)
1 0.000 0.000 0.000 0.000 pprint.py:81(PrettyPrinter)
1 0.000 0.000 0.000 0.000 py3compat.py:15(<module>)
29 0.000 0.000 0.000 0.000 py3compat.py:48(b)
1 0.000 0.000 0.000 0.000 random.py:100(seed)
1 0.000 0.000 0.000 0.000 random.py:173(randrange)
1 0.000 0.000 0.000 0.000 random.py:237(randint)
1 0.001 0.001 0.002 0.002 random.py:40(<module>)
1 0.000 0.000 0.000 0.000 random.py:653(WichmannHill)
1 0.000 0.000 0.000 0.000 random.py:72(Random)
1 0.000 0.000 0.000 0.000 random.py:803(SystemRandom)
1 0.000 0.000 0.000 0.000 random.py:91(__init__)
6 0.000 0.000 0.004 0.001 re.py:188(compile)
6 0.000 0.000 0.004 0.001 re.py:228(_compile)
1 0.000 0.000 0.001 0.001 read_preferences.py:15(<module>)
1 0.000 0.000 0.000 0.000 read_preferences.py:190(MovingAverage)
1 0.000 0.000 0.000 0.000 read_preferences.py:23(ReadPreference)
1 0.000 0.000 0.000 0.000 replica_set_connection.py:35(<module>)
1 0.000 0.000 0.000 0.000 replica_set_connection.py:40(ReplicaSetConnection)
1 0.000 0.000 0.000 0.000 socket.py:167(_closedsocket)
1 0.000 0.000 0.000 0.000 socket.py:179(_socketobject)
1 0.000 0.000 0.000 0.000 socket.py:185(__init__)
2007 0.002 0.000 0.026 0.000 socket.py:223(meth)
1 0.000 0.000 0.000 0.000 socket.py:235(_fileobject)
1 0.002 0.002 0.002 0.002 socket.py:45(<module>)
1 0.000 0.000 0.000 0.000 son.py:19(<module>)
1 0.000 0.000 0.000 0.000 son.py:24(SON)
1 0.000 0.000 0.000 0.000 son_manipulator.py:110(AutoReference)
1 0.000 0.000 0.000 0.000 son_manipulator.py:19(<module>)
1 0.000 0.000 0.000 0.000 son_manipulator.py:26(SONManipulator)
1 0.000 0.000 0.000 0.000 son_manipulator.py:32(will_copy)
1 0.000 0.000 0.000 0.000 son_manipulator.py:65(ObjectIdInjector)
2000 0.002 0.000 0.013 0.000 son_manipulator.py:69(transform_incoming)
1 0.000 0.000 0.000 0.000 son_manipulator.py:80(ObjectIdShuffler)
1 0.000 0.000 0.000 0.000 son_manipulator.py:99(NamespaceInjector)
4 0.000 0.000 0.000 0.000 sre_compile.py:178(_compile_charset)
4 0.000 0.000 0.000 0.000 sre_compile.py:207(_optimize_charset)
8 0.000 0.000 0.000 0.000 sre_compile.py:24(_identityfunction)
37/5 0.000 0.000 0.001 0.000 sre_compile.py:32(_compile)
12 0.000 0.000 0.000 0.000 sre_compile.py:354(_simple)
5 0.000 0.000 0.000 0.000 sre_compile.py:361(_compile_info)
10 0.000 0.000 0.000 0.000 sre_compile.py:474(isstring)
5 0.000 0.000 0.001 0.000 sre_compile.py:480(_code)
5 0.000 0.000 0.004 0.001 sre_compile.py:495(compile)
112 0.000 0.000 0.000 0.000 sre_parse.py:126(__len__)
196 0.000 0.000 0.000 0.000 sre_parse.py:130(__getitem__)
24 0.000 0.000 0.000 0.000 sre_parse.py:134(__setitem__)
152 0.000 0.000 0.000 0.000 sre_parse.py:138(append)
49/17 0.000 0.000 0.000 0.000 sre_parse.py:140(getwidth)
7 0.000 0.000 0.000 0.000 sre_parse.py:178(__init__)
637 0.001 0.000 0.001 0.000 sre_parse.py:182(__next)
275 0.000 0.000 0.000 0.000 sre_parse.py:195(match)
490 0.000 0.000 0.001 0.000 sre_parse.py:201(get)
154 0.000 0.000 0.000 0.000 sre_parse.py:210(isident)
22 0.000 0.000 0.000 0.000 sre_parse.py:216(isname)
8 0.000 0.000 0.000 0.000 sre_parse.py:257(_escape)
39/7 0.000 0.000 0.003 0.000 sre_parse.py:301(_parse_sub)
43/7 0.001 0.000 0.003 0.000 sre_parse.py:379(_parse)
7/5 0.000 0.000 0.003 0.001 sre_parse.py:663(parse)
7 0.000 0.000 0.000 0.000 sre_parse.py:67(__init__)
20 0.000 0.000 0.000 0.000 sre_parse.py:72(opengroup)
20 0.000 0.000 0.000 0.000 sre_parse.py:83(closegroup)
71 0.000 0.000 0.000 0.000 sre_parse.py:90(__init__)
1 0.000 0.000 0.001 0.001 ssl.py:56(<module>)
1 0.000 0.000 0.000 0.000 ssl.py:94(SSLSocket)
1 0.000 0.000 0.000 0.000 stat.py:24(S_IFMT)
1 0.000 0.000 0.000 0.000 stat.py:49(S_ISREG)
1 0.001 0.001 0.003 0.003 threading.py:1(<module>)
1 0.000 0.000 0.000 0.000 threading.py:104(_RLock)
2 0.000 0.000 0.000 0.000 threading.py:181(Condition)
1 0.000 0.000 0.000 0.000 threading.py:184(_Condition)
2 0.000 0.000 0.000 0.000 threading.py:186(__init__)
1 0.000 0.000 0.000 0.000 threading.py:226(_is_owned)
1 0.000 0.000 0.000 0.000 threading.py:277(notify)
1 0.000 0.000 0.000 0.000 threading.py:295(notifyAll)
1 0.000 0.000 0.000 0.000 threading.py:304(_Semaphore)
1 0.000 0.000 0.000 0.000 threading.py:352(_BoundedSemaphore)
1 0.000 0.000 0.000 0.000 threading.py:364(Event)
1 0.000 0.000 0.000 0.000 threading.py:367(_Event)
1 0.000 0.000 0.000 0.000 threading.py:371(__init__)
1 0.000 0.000 0.000 0.000 threading.py:385(set)
1 0.000 0.000 0.000 0.000 threading.py:424(Thread)
1 0.000 0.000 0.000 0.000 threading.py:436(__init__)
1 0.000 0.000 0.000 0.000 threading.py:531(_set_ident)
1 0.000 0.000 0.000 0.000 threading.py:56(_Verbose)
4 0.000 0.000 0.000 0.000 threading.py:58(__init__)
1 0.000 0.000 0.000 0.000 threading.py:63(_note)
1 0.000 0.000 0.000 0.000 threading.py:733(_Timer)
1 0.000 0.000 0.000 0.000 threading.py:762(_MainThread)
1 0.000 0.000 0.000 0.000 threading.py:764(__init__)
1 0.000 0.000 0.000 0.000 threading.py:771(_set_daemon)
1 0.000 0.000 0.000 0.000 threading.py:802(_DummyThread)
1 0.000 0.000 0.000 0.000 timeout.py:14(<module>)
1 0.000 0.000 0.000 0.000 timeout.py:33(Timeout)
1 0.000 0.000 0.000 0.000 timestamp.py:16(<module>)
1 0.000 0.000 0.000 0.000 timestamp.py:25(Timestamp)
1 0.000 0.000 0.000 0.000 traceback.py:1(<module>)
1 0.000 0.000 0.000 0.000 tz_util.py:15(<module>)
1 0.000 0.000 0.000 0.000 tz_util.py:23(FixedOffset)
1 0.000 0.000 0.000 0.000 tz_util.py:31(__init__)
1 0.000 0.000 0.000 0.000 tz_util.py:41(utcoffset)
2 0.000 0.000 0.000 0.000 tz_util.py:47(dst)
1 0.006 0.006 0.428 0.428 unsafe.py:1(<module>)
1 0.000 0.000 0.000 0.000 uri_parser.py:112(parse_host)
1 0.001 0.001 0.005 0.005 uri_parser.py:16(<module>)
1 0.000 0.000 0.000 0.000 uri_parser.py:184(split_hosts)
1 0.000 0.000 0.000 0.000 urllib.py:107(ContentTooShortError)
1 0.000 0.000 0.000 0.000 urllib.py:113(URLopener)
485 0.000 0.000 0.001 0.000 urllib.py:1181(<genexpr>)
1 0.001 0.001 0.004 0.004 urllib.py:23(<module>)
1 0.000 0.000 0.000 0.000 urllib.py:607(FancyURLopener)
1 0.000 0.000 0.000 0.000 urllib.py:849(ftpwrapper)
1 0.000 0.000 0.000 0.000 urllib.py:927(addbase)
1 0.000 0.000 0.000 0.000 urllib.py:956(addclosehook)
1 0.000 0.000 0.000 0.000 urllib.py:971(addinfo)
1 0.000 0.000 0.000 0.000 urllib.py:981(addinfourl)
1 0.000 0.000 0.000 0.000 urlparse.py:112(SplitResult)
1 0.000 0.000 0.000 0.000 urlparse.py:120(ParseResult)
1 0.000 0.000 0.002 0.002 urlparse.py:29(<module>)
485 0.000 0.000 0.001 0.000 urlparse.py:314(<genexpr>)
1 0.000 0.000 0.000 0.000 urlparse.py:67(ResultMixin)
1 0.000 0.000 0.005 0.005 util.py:4(<module>)
2 0.000 0.000 0.001 0.000 util.py:76(find_library)
4 0.000 0.000 0.000 0.000 uuid.py:101(__init__)
1 0.001 0.001 0.008 0.008 uuid.py:45(<module>)
1 0.000 0.000 0.000 0.000 uuid.py:53(UUID)
1 0.000 0.000 0.000 0.000 warnings.py:45(filterwarnings)
2 0.000 0.000 0.000 0.000 {__import__}
2 0.000 0.000 0.000 0.000 {_ctypes.POINTER}
3 0.000 0.000 0.000 0.000 {_ctypes.dlopen}
1 0.000 0.000 0.000 0.000 {_ctypes.set_conversion_mode}
38 0.000 0.000 0.000 0.000 {_ctypes.sizeof}
2 0.000 0.000 0.000 0.000 {_hashlib.openssl_md5}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha1}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha224}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha256}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha384}
1 0.000 0.000 0.000 0.000 {_hashlib.openssl_sha512}
1 0.001 0.001 0.001 0.001 {_socket.getaddrinfo}
1 0.000 0.000 0.000 0.000 {_socket.gethostname}
5 0.000 0.000 0.000 0.000 {_sre.compile}
12 0.000 0.000 0.000 0.000 {_sre.getlower}
18 0.000 0.000 0.000 0.000 {_struct.calcsize}
3000 0.002 0.000 0.002 0.000 {_struct.pack}
14021 0.004 0.000 0.004 0.000 {_struct.unpack}
13 0.000 0.000 0.000 0.000 {all}
1 0.000 0.000 0.000 0.000 {binascii.hexlify}
2003 0.008 0.000 0.011 0.000 {bson._cbson.decode_all}
1 0.000 0.000 0.000 0.000 {built-in method fromtimestamp}
1 0.000 0.000 0.000 0.000 {built-in method utcfromtimestamp}
1224 0.000 0.000 0.000 0.000 {chr}
1 0.000 0.000 0.000 0.000 {dir}
1 0.000 0.000 0.000 0.000 {function seed at 0x10fa86de8}
2041 0.001 0.000 0.001 0.000 {getattr}
6 0.000 0.000 0.000 0.000 {globals}
1 0.000 0.000 0.000 0.000 {greenlet.getcurrent}
10020 0.009 0.000 0.009 0.000 {hasattr}
2003 0.000 0.000 0.000 0.000 {hash}
4006 0.001 0.000 0.001 0.000 {id}
9258 0.002 0.000 0.002 0.000 {isinstance}
1 0.000 0.000 0.000 0.000 {issubclass}
13571/13541 0.002 0.000 0.002 0.000 {len}
2 0.000 0.000 0.000 0.000 {locals}
3 0.000 0.000 0.000 0.000 {map}
1 0.000 0.000 0.000 0.000 {math.exp}
2 0.000 0.000 0.000 0.000 {math.log}
1 0.000 0.000 0.000 0.000 {math.sqrt}
4 0.000 0.000 0.000 0.000 {max}
13 0.000 0.000 0.000 0.000 {method '__contains__' of 'frozenset' objects}
5009 0.004 0.000 0.004 0.000 {method 'acquire' of 'thread.lock' objects}
2014 0.002 0.000 0.003 0.000 {method 'add' of 'set' objects}
555 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects}
1 0.000 0.000 0.000 0.000 {method 'connect' of '_socket.socket' objects}
2000 0.000 0.000 0.000 0.000 {method 'copy' of 'dict' objects}
4 0.000 0.000 0.000 0.000 {method 'count' of 'list' objects}
1 0.000 0.000 0.000 0.000 {method 'digest' of '_hashlib.HASH' objects}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
22 0.000 0.000 0.000 0.000 {method 'endswith' of 'str' objects}
3 0.000 0.000 0.000 0.000 {method 'extend' of 'list' objects}
3 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects}
191 0.000 0.000 0.000 0.000 {method 'format' of 'str' objects}
12065 0.003 0.000 0.003 0.000 {method 'get' of 'dict' objects}
2 0.000 0.000 0.000 0.000 {method 'groupdict' of '_sre.SRE_Match' objects}
3 0.000 0.000 0.000 0.000 {method 'insert' of 'list' objects}
86 0.000 0.000 0.000 0.000 {method 'isalnum' of 'str' objects}
13 0.000 0.000 0.000 0.000 {method 'isdigit' of 'str' objects}
7 0.000 0.000 0.000 0.000 {method 'items' of 'dict' objects}
4 0.000 0.000 0.000 0.000 {method 'iteritems' of 'dict' objects}
1000 0.000 0.000 0.000 0.000 {method 'iterkeys' of 'dict' objects}
3 0.000 0.000 0.000 0.000 {method 'join' of 'str' objects}
1 0.000 0.000 0.000 0.000 {method 'lower' of 'str' objects}
8 0.000 0.000 0.000 0.000 {method 'match' of '_sre.SRE_Pattern' objects}
6 0.000 0.000 0.000 0.000 {method 'pop' of 'dict' objects}
2003 0.000 0.000 0.000 0.000 {method 'pop' of 'set' objects}
1000 0.000 0.000 0.000 0.000 {method 'popleft' of 'collections.deque' objects}
1 0.000 0.000 0.000 0.000 {method 'random' of '_random.Random' objects}
4006 0.152 0.000 0.152 0.000 {method 'recv' of '_socket.socket' objects}
5008 0.002 0.000 0.002 0.000 {method 'release' of 'thread.lock' objects}
20 0.000 0.000 0.000 0.000 {method 'remove' of 'list' objects}
16 0.000 0.000 0.000 0.000 {method 'replace' of 'str' objects}
16 0.000 0.000 0.000 0.000 {method 'rfind' of 'str' objects}
2 0.000 0.000 0.000 0.000 {method 'rstrip' of 'str' objects}
2003 0.022 0.000 0.022 0.000 {method 'sendall' of '_socket.socket' objects}
1 0.000 0.000 0.000 0.000 {method 'setsockopt' of '_socket.socket' objects}
2 0.000 0.000 0.000 0.000 {method 'setter' of 'property' objects}
2 0.000 0.000 0.000 0.000 {method 'settimeout' of '_socket.socket' objects}
1 0.000 0.000 0.000 0.000 {method 'sort' of 'list' objects}
5 0.000 0.000 0.000 0.000 {method 'split' of 'str' objects}
43 0.000 0.000 0.000 0.000 {method 'startswith' of 'str' objects}
1000 0.001 0.000 0.001 0.000 {method 'startswith' of 'unicode' objects}
4 0.000 0.000 0.000 0.000 {method 'strip' of 'str' objects}
1 0.000 0.000 0.000 0.000 {method 'toordinal' of 'datetime.date' objects}
1 0.000 0.000 0.000 0.000 {method 'update' of '_hashlib.HASH' objects}
3 0.000 0.000 0.000 0.000 {method 'update' of 'dict' objects}
1 0.000 0.000 0.000 0.000 {method 'update' of 'set' objects}
78 0.000 0.000 0.000 0.000 {min}
95 0.000 0.000 0.000 0.000 {ord}
1 0.000 0.000 0.000 0.000 {posix.close}
5008 0.001 0.000 0.001 0.000 {posix.getpid}
1 0.000 0.000 0.000 0.000 {posix.open}
1 0.000 0.000 0.000 0.000 {posix.read}
24 0.000 0.000 0.000 0.000 {posix.stat}
2 0.000 0.000 0.000 0.000 {posix.uname}
1 0.000 0.000 0.000 0.000 {pymongo._cmessage._get_more_message}
1000 0.008 0.000 0.008 0.000 {pymongo._cmessage._insert_message}
2 0.000 0.000 0.000 0.000 {pymongo._cmessage._query_message}
1000 0.009 0.000 0.009 0.000 {pymongo._cmessage._update_message}
4 0.000 0.000 0.000 0.000 {range}
2 0.000 0.000 0.000 0.000 {repr}
24 0.000 0.000 0.000 0.000 {setattr}
2 0.000 0.000 0.000 0.000 {sys._getframe}
5 0.000 0.000 0.000 0.000 {thread.allocate_lock}
2 0.000 0.000 0.000 0.000 {thread.get_ident}
5008 0.001 0.000 0.001 0.000 {time.time}
1 0.000 0.000 0.000 0.000 {zip}
188903 function calls (188739 primitive calls) in 0.428 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1006 0.000 0.000 0.000 0.000 collection.py:176(database)
2000 0.006 0.000 0.367 0.000 collection.py:204(save)
1000 0.008 0.000 0.188 0.000 collection.py:274(insert)
1000 0.007 0.000 0.172 0.000 collection.py:364(update)
2002 0.001 0.000 0.001 0.000 common.py:408(__get_safe)
2000 0.006 0.000 0.009 0.000 common.py:494(_get_write_mode)
2000 0.001 0.000 0.002 0.000 common.py:508(pop1)
1001 0.003 0.000 0.010 0.000 cursor.py:810(next)
2005 0.000 0.000 0.000 0.000 database.py:120(connection)
2000 0.003 0.000 0.016 0.000 database.py:250(_fix_incoming)
1000 0.002 0.000 0.002 0.000 database.py:263(_fix_outgoing)
2001 0.002 0.000 0.002 0.000 helpers.py:116(_check_command_response)
2003 0.009 0.000 0.022 0.000 helpers.py:78(_unpack_response)
2000 0.002 0.000 0.369 0.000 mongo.py:14(save)
2003 0.001 0.000 0.001 0.000 mongo_client.py:451(auto_start_request)
2003 0.005 0.000 0.028 0.000 mongo_client.py:651(__socket)
2000 0.006 0.000 0.026 0.000 mongo_client.py:760(__check_response_to_last_error)
2002 0.002 0.000 0.002 0.000 mongo_client.py:799(__check_bson_size)
2000 0.013 0.000 0.301 0.000 mongo_client.py:820(_send_message)
4006 0.009 0.000 0.161 0.000 mongo_client.py:866(__receive_data_on_socket)
2003 0.008 0.000 0.171 0.000 mongo_client.py:881(__receive_message_on_socket)
1000 0.007 0.000 0.010 0.000 objectid.py:147(__generate)
1000 0.001 0.000 0.002 0.000 objectid.py:169(__validate)
2000 0.001 0.000 0.014 0.000 objectid.py:68(__init__)
2003 0.010 0.000 0.022 0.000 pool.py:229(get_socket)
2003 0.009 0.000 0.037 0.000 pool.py:324(maybe_return_socket)
2003 0.004 0.000 0.010 0.000 pool.py:336(_return_socket)
2002 0.003 0.000 0.003 0.000 pool.py:348(_check)
4006 0.004 0.000 0.011 0.000 pool.py:423(_get_request_state)
4006 0.004 0.000 0.006 0.000 pool.py:463(_get_thread_ident)
6009 0.003 0.000 0.010 0.000 pool.py:84(__eq__)
2003 0.002 0.000 0.005 0.000 pool.py:89(__ne__)
2003 0.001 0.000 0.001 0.000 pool.py:92(__hash__)
2007 0.002 0.000 0.026 0.000 socket.py:223(meth)
2000 0.002 0.000 0.013 0.000 son_manipulator.py:69(transform_incoming)
1000 0.008 0.000 0.008 0.000 {pymongo._cmessage._insert_message}
1000 0.009 0.000 0.009 0.000 {pymongo._cmessage._update_message}
from mongo import MyDatabase
safe_write = MyDatabase()
for num in xrange(1000):
safe_write.save({"doc" : True, "value" : num})
for doc in safe_write.find():
doc["value"] += 5
safe_write.save(doc)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment