flask-profiler icon indicating copy to clipboard operation
flask-profiler copied to clipboard

"Dump current database" not workable for mongodb

Open yccheok opened this issue 6 years ago • 1 comments
trafficstars

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"

x

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#

yccheok avatar Dec 31 '18 22:12 yccheok

I am experiencing the very same issue. Considering that SqLite isn't working at all, it's a step in the right direction.

cluc-md avatar Aug 30 '19 23:08 cluc-md