Commit Graph

668 Commits

Author SHA1 Message Date
Klaas van Schelven
8f401dafd6 Document some findings (Friday's work) 2024-07-01 13:29:56 +02:00
Klaas van Schelven
471b69e956 Stress test: ability to generate random event types: 2024-06-27 10:49:25 +02:00
Klaas van Schelven
c5df10e9cf Stress test: ability to use multiple dsns (projects) 0.1.4 2024-06-27 09:52:10 +02:00
Klaas van Schelven
e9ed7835c1 eviction_target bugfix; delete 'never_evict' if nothing else remains 2024-06-26 11:06:04 +02:00
Klaas van Schelven
833ebfe9ac Move code around & document it 2024-06-26 10:11:59 +02:00
Klaas van Schelven
e4bad2c4f5 Fix existing tests (add field to factory call) 2024-06-26 10:03:25 +02:00
Klaas van Schelven
f45995ce19 Evinction lowered target: no more lowering than 500 (for large quota) 2024-06-26 09:53:16 +02:00
Klaas van Schelven
9a96ab767a retention insights: don't ignore never_evict=True 2024-06-26 09:38:34 +02:00
Klaas van Schelven
653739a8f6 Eviction: use deletion counts to keep track of the work
This saves a query in the (small) loop (namely: selection counts of remaining items)

It also allows us to stop sooner (evict less).
2024-06-26 09:26:34 +02:00
Klaas van Schelven
fe6c955465 never_evict events that are a Historic Turning Point
Both for technical (foreign keys) and business reasons (these are events you
care about)
2024-06-24 22:50:00 +02:00
Klaas van Schelven
adda019cef Add an index to the Event model for eviction
Unscientifically (n=1, changing circumstances), this improved times like so when the max was 10k:

* 573.56ms EVICT; down to 8813, max irr. from 15 to 13 in 171ms+402ms and 5+4 queries  (pre-index)
* 229.34ms EVICT; down to 7643, max irr. from 15 to 12 in 7ms+222ms and 5+7 queries    (post-index)

The order of the index was chosen because we have 3 types of queries in our algo:

* on Project -> irrelevance <= amount of work
* on Project, timestamp -> irrelevance <= observed irrelevances
* on Project, timestamp, irrelevance -> deletion
2024-06-24 14:29:01 +02:00
Klaas van Schelven
2bdc357a87 Eviction: logging 2024-06-24 13:58:45 +02:00
Klaas van Schelven
69a40480fd Retention/eviction: more small fixes/cleanup 2024-06-24 11:48:21 +02:00
Klaas van Schelven
bdc6193214 Add tool to generate insight in retention (and fix bugs that that insight revelead) 2024-06-24 10:59:04 +02:00
Klaas van Schelven
63afba020a Eviction: 95% 'lowered target' 2024-06-24 09:24:03 +02:00
Klaas van Schelven
82b229613b Fix: store generator in list b/c repeated evaluation 2024-06-24 09:12:07 +02:00
Klaas van Schelven
5e2cc0575f Retention, small fixes (from Friday) 2024-06-23 22:20:18 +02:00
Klaas van Schelven
ea6aa9bbca Retention/quotas: something that 'seems to work' (doesn't immediately crash) 2024-06-21 11:50:13 +02:00
Klaas van Schelven
c2b821589d Retention, WIP (yesterday) 2024-06-21 09:28:04 +02:00
Klaas van Schelven
228ef184e1 refactoring: class-definition order
should not matter but keeping the fields together is better
2024-06-20 09:21:55 +02:00
Klaas van Schelven
7cce0c58ab Simplify code
by moving the updating of the denormalized fields up, we can remove an assymmetry
2024-06-20 09:12:24 +02:00
Klaas van Schelven
a1e842fee1 Remove no-longer-true/relevant comment
The shaving-off of queries that's discussed in the comment is no longer
relevant because the associated branch is fully seen as ValidationError
these days.
2024-06-19 16:58:21 +02:00
Klaas van Schelven
0df5f891c4 Replace inline unicode 'icons' with SVG
user reported not being able to see the icon
0.1.3
2024-06-19 16:21:45 +02:00
Klaas van Schelven
d1db2ea401 create-conf: set default as indicated by the help-text 2024-06-19 16:01:42 +02:00
Klaas van Schelven
f9330e05de Simulation: PoC for 'just drop (never accept)' 2024-06-19 11:00:22 +02:00
Klaas van Schelven
6259ed7c86 Simulator: minor improvements 2024-06-19 10:15:27 +02:00
Klaas van Schelven
5ca5b22dec Simulator: variable per-epoch how-many 2024-06-19 09:41:11 +02:00
Klaas van Schelven
4889c2b07b Eviction: off-by-one and naming 2024-06-18 22:43:21 +02:00
Klaas van Schelven
7e33a86c85 First steps with simulating retention/eviction 2024-06-18 20:52:56 +02:00
Klaas van Schelven
2d7a261515 Project-settings buttons at bottom of issue-list 0.1.2 2024-06-17 12:37:24 +02:00
Klaas van Schelven
b77fc630e5 Rename 'visible' => 'discoverable'
more clear that it's just the 'front door' we're talking about
2024-06-17 11:08:29 +02:00
Klaas van Schelven
0e199633b9 Rename 'visible' => 'discoverable'
more clear that it's just the 'front door' we're talking about
2024-06-17 11:08:02 +02:00
Klaas van Schelven
1171309b4e Project-list button-visibility fixed for auth 2024-06-17 11:06:41 +02:00
Klaas van Schelven
e82edb7817 Current project's issues in the menu 2024-06-17 10:45:19 +02:00
Klaas van Schelven
c4b9938ab0 Single-server setup instructions after yet another run with this (dogfood) 2024-06-14 16:58:57 +02:00
Klaas van Schelven
2ba142eb03 User-related settings: include in template and document 0.1.1 2024-06-14 15:55:48 +02:00
Klaas van Schelven
8b63bb0a00 Use strings for setting-constants
more clear when inspecting existing settings; also potentially useful
to avoid circular imports (because you may hard-code using strings,
rather than import the constants)
2024-06-14 15:34:42 +02:00
Klaas van Schelven
4988704a2d Fix signup form
broken in recent refactorings (form display)
2024-06-14 12:51:31 +02:00
Klaas van Schelven
8ad6059722 Complete migration reset 0.1.0 2024-06-14 10:29:10 +02:00
Klaas van Schelven
034c6fecc7 select_related for project_list page
avoids n queries
2024-06-14 09:57:11 +02:00
Klaas van Schelven
8080108b48 Fix AttrLikeDict for use in DJDT
apparently there's a code path in the DJDT that triggered a KeyError before
the current commit
2024-06-14 09:54:55 +02:00
Klaas van Schelven
95856fdf23 Don't use DJDT when running tests
Doing son resulted in a:

?: (debug_toolbar.E001) The Django Debug Toolbar can't be used with tests
	HINT: Django changes the DEBUG setting to False when running tests. By default the Django Debug Toolbar is installed because DEBUG is set to True. For most cases, you need to avoid installing the toolbar when running tests. If you feel this check is in error, you can set `DEBUG_TOOLBAR_CONFIG['IS_RUNNING_TESTS'] = False` to bypass this check.

I do not understand why this started happening all of a sudden (I did not experience it yesterday)
but being explicit is fine
2024-06-14 09:49:59 +02:00
Klaas van Schelven
95cb39f5af Implement 'send_email_alerts'
* cascading from team to project; user is base-level-default
* implemented at form-level
* implemented when emails are actually sent
2024-06-13 13:23:14 +02:00
Klaas van Schelven
35448c9855 Remove ugly logging from tests 2024-06-12 17:45:33 +02:00
Klaas van Schelven
c4358aaece Fix tests for users.User idiom 2024-06-12 17:45:06 +02:00
Klaas van Schelven
152c5b5204 Turn TASK_ALWAYS_EAGER back on in development settings
I drive-by turned it on when doing some local testing that required that,
but it must be on at least for the tests to work
2024-06-12 17:44:32 +02:00
Klaas van Schelven
37927a623f Help-text for team-creation when you don't have a team yet 2024-06-10 16:41:11 +02:00
Klaas van Schelven
0660701287 createsuperuser and how it relates to email-based addresses: document
chaning actual createsuperuser behavior is usually done using the USERNAME_FIELD
but that field has other repurcussions (that we don't want) too
2024-06-10 16:28:31 +02:00
Klaas van Schelven
93b8c892b1 'No issues found' bigger (I overlooked it myself) 2024-06-10 15:45:30 +02:00
Klaas van Schelven
33f2d55eab SINGLE_TEAM & SINGLE_USER implemented
in-template only; since we make source available it's a bit silly to put all kinds
of 'security' in place that could easily be edited out
2024-06-10 15:41:54 +02:00