mirror of
https://github.com/jlengrand/bugsink.git
synced 2026-03-10 08:01:17 +00:00
cd7f3978cf37e267566d98b2ed2f2f4236c52f71
* denormalize IssueTag.key; this allows for key to be used in and index
(issue, key, count).
* rewrite to grouping-first, per-key-query-second. i.e. reverts part of
bbfee84c6a. Reasoning: I don't want to rely on "mostly unique" always
guessing correctly, and we don't dynamically determine that yet. Which
means that (in the single query version) if you'd have a per-event value for
some tag, you could end up iterating over as many values as there are events,
which won't work.
* in tags.py, do the tab-check first to avoid doing the tag-calculation twice.
* further denormalation (of key__key, of value__str) actually turns out to not
be required for both the grouping and indivdual queries to be fast.
Performance tests, as always, against sqlite3.
--
Roads not taken/background
* This commit removes a future TODO that "A point _could_ be made for
['issue', '?value?' 'count']", I tried both versions of that index
(against the group-then-query version, the only one which I trust)
but without denormalization of key, I could not get it to be fast.
* I thought about a hybrid approach (for those keys with low counts of values
do the single-query thing) but as it stands the extra complexity isn't worth
it.
---
on the 1.2M events, 3 (user defined) tags / event test env this
basically lowers the time from "seconds" to "miliseconds".
Bugsink: Self-hosted Error Tracking
Bugsink offers real-time error tracking for your applications with full control through self-hosting.
Screenshot
This is what you'll get:
Installation & docs
The quickest way to evaluate Bugsink is to spin up a throw-away instance using Docker:
docker pull bugsink/bugsink:latest
docker run \
-e SECRET_KEY={{ random_secret }} \
-e CREATE_SUPERUSER=admin:admin \
-e PORT=8000 \
-p 8000:8000 \
bugsink/bugsink
Visit http://localhost:8000/, where you'll see a login screen. The default username and password
are admin.
Now, you can set up your first project and start tracking errors.
Detailed installation instructions are on the Bugsink website.
Description
Languages
Python
80.6%
HTML
17.5%
CSS
0.9%
JavaScript
0.6%
Shell
0.3%
Other
0.1%
