Last active
December 12, 2015 10:29
-
-
Save joshkehn/4759398 to your computer and use it in GitHub Desktop.
Quick and Dirty MongoDB profiling
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
venv | |
*.pyc | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pymongo==2.4.2 | |
wsgiref==0.1.2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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