42 Commits

Author SHA1 Message Date
Klaas van Schelven
0d0b9b509f Add modelcounts command; useful in the context of housekeeping when servers are down 2026-01-06 20:41:43 +01:00
Klaas van Schelven
8283b80b35 Minidump API Endpoint: custom/extra fields support 2025-11-16 09:29:20 +01:00
Klaas van Schelven
60bbf8c606 send_json/stress_test utils: Prettier tag-sending, pt.2 2025-11-15 15:44:19 +01:00
Klaas van Schelven
8da9ec593e send_json/stress_test utilities: prettier tag-sending 2025-11-15 14:51:27 +01:00
Klaas van Schelven
2ad2c819f9 bandit (trivial ignore) 2025-11-11 15:57:17 +01:00
Klaas van Schelven
d5db5e328b Merge branch brotli-bombs-tests 2025-11-11 10:01:23 +01:00
Klaas van Schelven
a6ead89ca8 Remove event.debug_info
basically unused
2025-11-09 20:58:39 +01:00
Klaas van Schelven
69a918de7d Additional test scripts for gzip/deflate bombs 2025-11-08 23:08:59 +01:00
Klaas van Schelven
4c07000818 Add 'send_random_data' 'bomb'
credit @Cycloctane (who provided this as a curl command)
2025-11-08 23:04:19 +01:00
Klaas van Schelven
9db2498e27 send_bomb command to test brotli decompression vulnerability 2025-11-08 23:04:15 +01:00
Klaas van Schelven
1b5cf8dea4 Add convert_mariadb_uuids command
Bugsink 2.0 upgraded to Django 5.2 (from 4.2) under the hood. However, Django
5.0 made it so that on MariaDB >= 10.7, UUIDFields are stored as native UUID
fields, and special conversion steps are required.

The Django 5.0 release notes suggest basically downgrading your existing UUIDs
to CharField values and sticking with that forever, but that's not a workable
solution for us for many reasons:

* Bugsink is multi-DB-backend, and this change would affect them all. I don't
  want to force postgres-users to downgrade just for this.

* Bugsink 2.0 is already out in the wild, and people who've deployed it on
  MariaDB >= 10.7 would already "be in the correct future" (have UUID columns).
  i.e. the "solution" would just create the inverse problem.

* What with new models with new UUID fields? We'd run the rist of a "mix" with
  all the future complexity that comes with _that_.

So I've decided to just bite the bullet and force an upgrade. The provided
command allows users to upgrade their data. Just run:

```
bugsink-manage convert_mariadb_uuids
```

I have not (yet) provided this as a migration (it's always an option for the
future)... mostly for lack of time but also because we "need this as a command
anyway"... because people that would be on MariaDB < 10.7 still need this
tool whenever they migrate to >= 10.7.

Fix #226
2025-10-09 22:47:00 +02:00
Klaas van Schelven
6a523a6a67 Merge pull request #192
i18n support and Chinese translation
2025-08-28 20:23:54 +02:00
Klaas van Schelven
a0dc91c8c5 Push verbose_name to the model-level
at least for those fields where it is currently used.
this necessitates a patch to the migration machinery, which this commit adds

See #161
2025-08-28 16:03:27 +02:00
Klaas van Schelven
f0d3667121 Remove 'kind' idea from send_json util
we only support one kind: files.
(in the past it was useful to send-to-self already uploaded items,
but this idea is never used in practice, and the whole idea of having to supply a
'kind' on the cmdline is confusing)
2025-08-24 21:03:35 +02:00
Klaas van Schelven
c38ca8c58a send_json command: --dsn param required (or from env) 2025-08-24 20:59:38 +02:00
Klaas van Schelven
1938f0a179 send_json/stress-test util: remove space from envelope
closer to the recommended format; and matches the comment ('smallest')
2025-08-02 22:36:40 +02:00
Klaas van Schelven
abb84172bb header and envelope parsers: filter, don't fail on validation failures
See #179
2025-08-01 09:48:40 +02:00
Klaas van Schelven
354af7ea0a Fix issues as reported by bandit or mark as nosec
Nothing worrying, but good to have checked this regardless
and important to have a green pipeline.

Fix #175
2025-07-30 12:16:40 +02:00
Klaas van Schelven
13226603ec send_json utility: make envelope API the default
the store API is deprecated and b/c it doesn't support the ingest/digest
split can be quite confusing.

this is similar to 2b8efc9452 (for the stress_test command the 'store'
API option was removed entirely)
2025-07-25 22:00:21 +02:00
Klaas van Schelven
2b8efc9452 stress_test command: remove must-be-true fresh-id param 2025-05-12 10:56:39 +02:00
Klaas van Schelven
528998fae5 stress_test command: remove deprecated 'use_envelope' option
we always do that, as per the now-removed comment
2025-05-12 10:49:06 +02:00
Klaas van Schelven
9b0f0e04f4 CREATE_SUPERUSER shortcut: robust for ':' in password 2025-05-07 09:21:21 +02:00
Klaas van Schelven
d5a449020d Stress test: more fat-tailed randomness
direct cause: the ability to create test-data for many-Issue setups
2025-05-06 10:42:18 +02:00
Klaas van Schelven
d3de2e6d5b Add '--window' param to showstat 2025-04-17 12:20:11 +02:00
Klaas van Schelven
21dfa6dbbc Show stat command: add column for 'write saturation 2025-04-17 12:18:09 +02:00
Klaas van Schelven
b3c99fda72 Add 'munin' command
(initial target market: me)
2025-04-17 09:01:42 +02:00
Klaas van Schelven
fb45a8ccc9 Show stats command for snappea 2025-04-16 21:48:41 +02:00
Klaas van Schelven
712eb63faa Merge pull request #80 from bugsink/sourcemaps-spike
Sourcemaps: first version
2025-04-14 11:08:19 +02:00
Klaas van Schelven
485df1aed9 AuthToken: ability to create using a command 2025-04-11 14:45:37 +02:00
Klaas van Schelven
594144f04d Add chunked (transfer) encoding to send_json command
Back when fixing #9, a test-command wasn't added.

See #8, See #9
2025-04-10 21:17:15 +02:00
Klaas van Schelven
0358af9a59 Fix on 'stress test tags: support for RANDOM data'
i.e. actually send RANDOM data
2025-03-10 20:50:24 +01:00
Klaas van Schelven
050b3fe1d8 stress test tags: support for RANDOM data 2025-03-10 09:39:17 +01:00
Klaas van Schelven
f548eab778 Merge branch 'main' into tag-search 2025-03-10 09:09:40 +01:00
Klaas van Schelven
832539a197 Createsuperuser pre-start message: even more explicit 2025-03-07 10:47:18 +01:00
Klaas van Schelven
b560628c19 Createsuperuser pre-start: don't do that when _any_ users exist in the DB
Fixes #54
2025-03-07 09:52:43 +01:00
Klaas van Schelven
0aa067eb9b Add --fresh-trace and --tag params to send_json/stress_test 2025-02-27 14:04:52 +01:00
Klaas van Schelven
97e54868c9 showstat: warning about eviction 2025-02-17 13:41:21 +01:00
Klaas van Schelven
5263980f54 showstat: digestion_speed 2025-02-17 13:21:41 +01:00
Klaas van Schelven
01325ae0f3 Add migrate command that always shows timings 2025-02-14 10:15:23 +01:00
Klaas van Schelven
561c1d324a event.data getters
in preparation for scenarios where the dumped data is not stored in the DB
2025-02-07 17:09:36 +01:00
Klaas van Schelven
51fced662a Add event_count showstat 2025-02-07 11:13:15 +01:00
Klaas van Schelven
ae9cb209a5 Create 'bsmain' (for bugsink-main) app to hold commands
As had been noted on some of the commands, 'ingest' was not the best place for
them.  However, [project-level apps are not supported in
Django](https://forum.djangoproject.com/t/allow-project-to-have-management-commands/5220/2)
So just create a 'main' app. I want to qualify it as 'myproject-main' though, to avoid
further unqualified global namespace pollution. And I want to avoid prefixing with 'bugsink'
b/c that's annoying for tab-completion. So 'bs' it is.

I've moved all commands over; even though a case could be made that the "feeding" commands
(raise_exception, send_json, stress_test) are somewhat related to ingestion, that's not
a very good case :-)
2025-01-23 11:55:34 +01:00