Commit Graph

102 Commits

Author SHA1 Message Date
Bryan Stitt
91eb907a2d fix lints with better types 2022-10-31 20:05:58 +00:00
Bryan Stitt
a534eae968 trace everything 2022-10-28 22:52:47 +00:00
Bryan Stitt
366f2c8f84 rename api_key to rpc_key 2022-10-27 00:12:42 +00:00
Bryan Stitt
8f3e5c0146 user post endpoint 2022-10-26 21:39:26 +00:00
Bryan Stitt
a67b85a327 concurrency limits on bearer token actions 2022-10-25 18:27:06 +00:00
Bryan Stitt
9422a335a7 allow origins on public entrypoints 2022-10-21 20:59:05 +00:00
Bryan Stitt
b7259192e8 more context. don't use unix timestamps 2022-10-20 23:50:23 +00:00
Bryan Stitt
12ee26a2b3 wait on background threads 2022-10-20 22:51:56 +00:00
Bryan Stitt
9614682e30 more robust login 2022-10-20 08:14:38 +00:00
Bryan Stitt
848eb61349 null private transactions instead of empty 2022-10-20 07:03:58 +00:00
Bryan Stitt
a3d0803618 DRYer user queries 2022-10-20 06:17:27 +00:00
Bryan Stitt
e9abcf883f query params and grouping for user stats 2022-10-19 18:38:00 +00:00
Bryan Stitt
3793bdff67 aggregate stats endpoint 2022-10-19 00:57:22 +00:00
Bryan Stitt
f6c2d29d0e stricter configs 2022-10-18 23:27:33 +00:00
Bryan Stitt
848af3d8b3 more docs 2022-10-17 21:47:58 +00:00
Bryan Stitt
76c8f1ef96 i think it works 2022-10-11 21:31:34 +00:00
Bryan Stitt
552f3dbffc proper sizes for caches and emit all stats 2022-10-11 19:58:25 +00:00
Bryan Stitt
825370b5d9 stats almost work
just need to update the migration to match our new ideas for columns.

should also make the shutdown smarter so that nothing gets lost
2022-10-10 05:35:25 +00:00
Bryan Stitt
25aa68a5bf add per-user rpc accounting 2022-10-10 04:15:49 +00:00
Bryan Stitt
c8fbf46885 stats in redis that actually work
we should still investigate a real time series db, but stats in redis is much simpler for now
2022-10-07 02:15:53 +00:00
Bryan Stitt
875ae457ef emit our first stats-- cache hits and misses 2022-10-03 20:02:05 +00:00
Bryan Stitt
25d34da98d add stat emitter 2022-10-03 18:08:01 +00:00
Bryan Stitt
a7b5f25467 unwrap less 2022-09-30 04:18:18 +00:00
Bryan Stitt
53f9551180 finish adding semaphores 2022-09-28 03:35:55 +00:00
Bryan Stitt
0c7a2b05ec start adding semaphores 2022-09-27 02:01:45 +00:00
Bryan Stitt
a80503ac48 better logging on save reverts checks 2022-09-24 07:04:11 +00:00
Bryan Stitt
5df2469d53 ULID or UUID. Prefer ULID 2022-09-24 05:53:45 +00:00
Bryan Stitt
b254cb7d26 check for bearer token on /rpc 2022-09-24 04:31:06 +00:00
Bryan Stitt
81deb1103c login needs its own rate limiter 2022-09-24 03:59:21 +00:00
Bryan Stitt
8459dcd1f1 let the frontend handle their own cookies 2022-09-24 02:47:44 +00:00
Bryan Stitt
dbd8ea2429 add logout endpoint and prefix with /rpc 2022-09-23 21:49:18 +00:00
Bryan Stitt
961ccf7cf2 ip, origin, referer, and user agent checks 2022-09-23 05:22:33 +00:00
Bryan Stitt
8d011e0cd1 pass db conn through 2022-09-22 22:10:28 +00:00
Bryan Stitt
3854312674 we need to clone :'( 2022-09-22 21:51:52 +00:00
Bryan Stitt
43846a7051 pass authorized_request through a bunch of places 2022-09-22 20:27:14 +00:00
Bryan Stitt
6905e9fd46 create a struct for authenticated requests that we need for per-key stats 2022-09-22 19:57:21 +00:00
Bryan Stitt
8481f6d44c wip 2022-09-21 23:50:55 +00:00
Bryan Stitt
abe5001792 atomic and less expires 2022-09-20 06:56:24 +00:00
Bryan Stitt
dfd6aed6e6 no timeouts here, we already have a timeout on requests 2022-09-20 03:26:12 +00:00
Bryan Stitt
6ae24b1ff9 use cache's expiration and race-free get_with
when this was a dashmap, we needed our own expiration and parallel requests would do the same query.

with moka, we can use their expiration code and get_with
2022-09-20 01:33:39 +00:00
Bryan Stitt
90fed885bc add ttl to user_cache 2022-09-19 23:09:31 +00:00
Bryan Stitt
8785cb6d2d no idle timeout or max lifetime 2022-09-19 22:41:53 +00:00
Bryan Stitt
3e3a9fcf64 larger max_capacity now that there is a weigher 2022-09-19 22:24:56 +00:00
Bryan Stitt
a7761a0430 add a weigher function to sized caches 2022-09-19 22:17:35 +00:00
Bryan Stitt
28fa424c2a start weighers 2022-09-17 02:30:06 +00:00
Bryan Stitt
05af0551c9 use ahash
this might actually be slower. do real benchmarks
2022-09-17 02:17:20 +00:00
Bryan Stitt
3d4bfbfde0 use ahash. allow no redis 2022-09-17 01:19:11 +00:00
Bryan Stitt
12b6d01434 work in progress 2022-09-15 17:57:24 +00:00
Bryan Stitt
31227d8c0c drop in flight. throughput is enough 2022-09-14 07:08:48 +00:00
Bryan Stitt
ea8f6091f9 improve (but disable) rate limits 2022-09-14 06:41:34 +00:00