Klaas van Schelven cd7f3978cf Improve tag-overview performance
* 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".
2025-03-12 14:14:05 +01:00
2025-01-29 13:37:31 +01:00
2025-03-12 14:14:05 +01:00
2024-12-18 09:20:50 +01:00
2025-03-12 14:14:05 +01:00
2025-02-19 14:52:48 +01:00
2025-02-12 17:11:24 +01:00
2025-03-10 15:43:11 +01:00
2024-12-02 10:05:42 +01:00
2025-02-20 09:29:57 +01:00
2025-01-30 15:23:23 +01:00
2025-02-26 16:34:47 +01:00

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:

Screenshot

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.

More information and documentation

Description
No description provided
Readme 6.2 MiB
Languages
Python 80.6%
HTML 17.5%
CSS 0.9%
JavaScript 0.6%
Shell 0.3%
Other 0.1%