Record all errors (do not overwrite)
At the moment, errors are overwritten. A better approach would be to simply group similar errors together (Sentry way) and allow to navigate from one to another.
That's true we do override the existing error, the reason being on high volume errors should be stored in some other database systems. This also imply we need to have relations between errors that may not be possible errors.
No need to have relation between errors. You can simply group them by pair of URL, exception type. That's minimal.
As of the database system choice. There are ways to do that. You could also add messages to the queue and process them later on in batch. That would decrease DB writes.
Exactly, that's the reason it's been built very minimal. There're many idea to improve the libs
- Provide backend for individual DB systems (MongoDb, Redis Channel, PostgreSQL, MySQL simplified)
- Provide search capabilities on top of data store (Easily can be supported in PostgreSQL, for higher level)
- Provide alternative to DB like backend for Elastic search or any other search system.
- Send data to pipeline and pipeline would push data to respective database system.
Hey, perhaps it should be started small. For now, it would be good to record all exceptions and provide an option to use another database (for instance, same driver/same engine, but a different database). It's very simple with Django (a single config in settings). With Flask a little bit more work.
BTW, another way of connecting to MongoDB is using djongo. Integration with MongoDB is then seamless.