Commit graph

91 commits

Author SHA1 Message Date
c1af8a1262
fix: db name shows correctly instead of mirroring db uri 2022-11-14 01:46:17 +01:00
54c61130f6
fix: remove exit delay in gui mode, unused imports 2022-11-14 01:45:43 +01:00
37fd0cda94
fix: maybe no more weird freezes?
this is a weird one: sometimes, after sending some changes to the state
worker, the GUI will completely freeze. No error or panic reported, just
completely frozen, must be terminated and restarted. This is super
annoying! I tried to debug it, and it seems that the main GUI thread
gets blocked inside an unsafe block of crate `parking_lot` invoking a
FUTEX syscall (Fast Userspace muTEX). Climbing up the stack trace, it
seems to be originating from accessing a watch channel, specifically
when rendering panels. I noticed that there were unnecessary borrow
calls, and slimmed them down, and still haven't experienced it again.
Which is weird! Seems like a very "magic" fix, but it is to be expected
with race conditions, and this looks to be the case. I could quite
reliably reproduce it with ~20 metrics on ~4 sources set up.

idk, I just want this fixed, but I'm still super bummed I didn't catch
the culprit...
2022-11-10 21:55:53 +01:00
ceb7fa6da2
feat: allow to log to file too via CLI option 2022-11-10 21:55:41 +01:00
85f88fabc2
fix: freezes on blocking operations
very cheap fix: spawn a thread to send the message. This is very
wasteful, and should instead be done by spawning a task on the tokio
runtime.
2022-11-10 21:54:34 +01:00
b2eb097585
fix: surveyor now distinguishes nulls from errors 2022-11-10 21:53:50 +01:00
35f1675a00
fix: don't crash when closing before connecting to anything 2022-11-10 21:52:52 +01:00
0ce377ed6d
chore: remove "persistance" feature 2022-11-10 21:52:34 +01:00
a974dbc5bb
fix: fetch data with reliable ordering 2022-11-08 01:37:20 +01:00
868a1a4e0a
fix: improved panel edit UI, removed some old stuff 2022-11-08 01:37:00 +01:00
d6c2e49843
feat: allow passing initial db url
also chore: removed wasm32 stuff. it probably can't work so i'll think
again about it some other time
2022-11-07 02:37:21 +01:00
2e38a00583
fix: proper ui sizing 2022-11-07 01:36:57 +01:00
fc6926816b
feat: db migration to remove query_x and query_y 2022-11-07 00:49:22 +01:00
d7856a921e
feat: metrics now have only 1 query field
X is always current timestamp, and everything is a timeserie by default
2022-11-07 00:48:34 +01:00
66b43551bd
fix: way better points fetching 2022-11-05 20:16:25 +01:00
0939e66c2d
fix: refresh when changing db, don't load all points 1st time 2022-11-05 19:52:15 +01:00
2e3f724d94
fix: ocd 2022-11-05 19:06:36 +01:00
a2e353d18f
feat: track workers by index 2022-11-05 19:05:31 +01:00
372e17caad
feat: background worker runs in multi-threaded runtime 2022-11-05 18:35:10 +01:00
ddf237861c
fix: excessive logging and records overlapping 2022-11-05 18:34:50 +01:00
08ed95d74c
feat: allow processing multiple dbs from one surveyor 2022-11-05 16:18:24 +01:00
c59c4b0009
feat: improved top panel, allow to reconnect during session 2022-11-05 03:28:51 +01:00
a6bc0da6fa
feat: reworked CLI interface with subcommands 2022-11-05 03:28:35 +01:00
4345a9e9b9
feat: reworker worker task, allows to change db
now way more modularized and better error checked. allows receiving db
uris from a mpsc channel, and reconnects to them
2022-11-05 03:27:12 +01:00
f48d1e3682
chore: no more dashboard_bin 2022-11-04 02:13:10 +01:00
4bc7cab8d8
fix: don't show whole db url (and credentials) 2022-11-04 02:12:54 +01:00
9a7b29c8f8
feat: improved sources side panel UI 2022-11-04 02:12:35 +01:00
e7af410edf
fix: cheap way to edit panel order 2022-11-04 02:12:16 +01:00
1100b5f5fe
chore: remove warnings 2022-11-03 03:04:44 +01:00
32d68691a1
feat: added relations, added window uis to edit them all 2022-11-03 02:07:21 +01:00
76772465a3
feat: floating windows to edit stuff
allow editing models via floating windows. Also added weird buttons to
create new models. Still need to do relations!
2022-11-02 03:18:23 +01:00
3fcf059095
build: optimize dependancies in dev profile 2022-11-02 03:17:41 +01:00
132975f59a
chore: removed a ton of .unwrap()
maybe too much? now code is mostly error catching in some spots
2022-11-02 00:45:40 +01:00
9b794fa6b1
feat: surveyor fetches concurrently
also catch more errors and log more
2022-11-01 20:47:40 +01:00
adf2812dfc
fix: postgres issues
ids are i64, converted to bigints. color should be stored as signed.
This makes migrating from SQLite to postgres kind of painful, but
doable.
2022-11-01 18:12:32 +01:00
4466b792fd
build: added Trunk and template files for wasm
still doesn't compile but some steps in the right direction
2022-11-01 05:28:24 +01:00
2bcca43602
chore: bump version number 2022-11-01 04:35:42 +01:00
bc94398e49
chore: boilerplate over async stuff 2022-11-01 04:32:46 +01:00
cbca9f99b3
feat!: async refactor
this mostly has the objective of splitting fetching and visualizing, to
be able to daemonize the fetching. I swapped out ureq for reqwest,
brought in clap, removed rusqlite for full fledged sea_orm, added
tokio. Created migrations in sea_orm to reflect current db schema. Moved
data structures defititions out of app, and slimmed down gui code.
Entities collections are mostly managed by background workers and made
available with watch-channels to the main thread, which can always
nonblockingly access data. This is cool but still has some sharp
corners. Now plots don't refresh live but at specific interval. I plan
to add synchronization channels later on tho.
2022-10-31 02:54:42 +01:00
23f77a5819
fix: avoid deadlock by doing it at the end 2022-10-27 00:27:02 +02:00
c026d0def3
fix: eframe update 2022-10-27 00:26:51 +02:00
058553506d
chore: added some more details 2022-09-14 13:41:35 +02:00
9b7ba8d4f7
chore: updated README 2022-09-14 13:36:46 +02:00
d50f9b973b
feat: allow to save and load metric data
metrics can be saved and loaded to/from csv.
The files are ok-ish and it's reasonably fast. File format could still
change. Also some small fixes and tweaks, like bigger buttons in
confirmation prompts and source name in logs.
2022-06-28 01:09:15 +02:00
759c11a5b5
chore: fix warnings 2022-06-25 03:00:16 +02:00
068969b23f
chore: bump version 2022-06-25 02:59:22 +02:00
bc8f74335e
feat: allow to pass specific db file via argv 2022-06-25 02:59:00 +02:00
b91eee5e97
feat!: allow to toggle averaging when reducing 2022-06-25 02:33:52 +02:00
11908370dd
chore: moved most of the UI in separate modules
Some things still need to be better thought and designed: the confirmation
popups for example are pretty jank and super specific!
2022-06-24 15:54:30 +02:00
7147a7b09f
chore: bump version 2022-06-24 15:05:01 +02:00