flask-profiler
flask-profiler copied to clipboard
"Dump current database" not workable for mongodb
Thank you for creating a simple-to-use profiling tool.
We are using mongodb as storage
app.config["flask_profiler"] = {
"enabled": True,
"storage": {
"engine": "mongodb",
"MONGO_URL": "mongodb://mongodb:27017"
},
"basicAuth":{
"enabled": True,
"username": "???",
"password": "???"
},
}
When we perform "Dump current database"
We get the following error
flask_1 | ERROR:flask.app:Exception on /flask-profiler/db/dumpDatabase [GET] flask_1 | Traceback (most recent call last): flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app flask_1 | response = self.full_dispatch_request() flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request flask_1 | rv = self.handle_user_exception(e) flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception flask_1 | reraise(exc_type, exc_value, tb) flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise flask_1 | raise value flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request flask_1 | rv = self.dispatch_request() flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request flask_1 | return self.view_functionsrule.endpoint flask_1 | File "/usr/local/lib/python3.6/site-packages/flask_httpauth.py", line 104, in decorated flask_1 | return f(*args, **kwargs) flask_1 | File "/usr/local/lib/python3.6/site-packages/flask_profiler/flask_profiler.py", line 225, in dumpDatabase flask_1 | "summary": collection.getSummary()}) flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/json/init.py", line 321, in jsonify flask_1 | dumps(data, indent=indent, separators=separators) + '\n', flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/json/init.py", line 179, in dumps flask_1 | rv = _json.dumps(obj, **kwargs) flask_1 | File "/usr/local/lib/python3.6/site-packages/simplejson/init.py", line 399, in dumps flask_1 | **kw).encode(obj) flask_1 | File "/usr/local/lib/python3.6/site-packages/simplejson/encoder.py", line 296, in encode flask_1 | chunks = self.iterencode(o, _one_shot=True) flask_1 | File "/usr/local/lib/python3.6/site-packages/simplejson/encoder.py", line 378, in iterencode flask_1 | return _iterencode(o, 0) flask_1 | File "/usr/local/lib/python3.6/site-packages/flask/json/init.py", line 81, in default flask_1 | return _json.JSONEncoder.default(self, o) flask_1 | File "/usr/local/lib/python3.6/site-packages/simplejson/encoder.py", line 273, in default flask_1 | o.class.name) flask_1 | TypeError: Object of type CommandCursor is not JSON serializable root@jstock-notification:~/wenote-cloud-storage#
I am experiencing the very same issue. Considering that SqLite isn't working at all, it's a step in the right direction.