Commit Graph

36 Commits

Author SHA1 Message Date
Maximilian Schneider ffe776b70d AccountWriteFilter generic router to process account writes for different modules in the same process 2023-02-07 17:22:21 +09:00
Maximilian Schneider b9afc2c200 Merge branch 'v4' into max/crank 2023-02-05 10:53:02 +09:00
Riordan Panayides 4b75b88a98 cargo fmt 2023-02-03 11:49:22 +00:00
Riordan Panayides 5c8ebc53b1 Fills updates
* Unify fill event schema
* Change fill updates json
* Convert all native values to ui
* Add fills postgres target
2023-02-03 11:39:53 +00:00
Maximilian Schneider 31149f7e0d Merge remote-tracking branch 'origin/v4' into max/crank 2023-02-03 16:22:35 +09:00
Maximilian Schneider 5e78f008f6 create crank skeleton 2023-02-03 16:15:58 +09:00
Riordan Panayides 3dc7ae1246 * Add chaindata metrics
* jemalloc for fills
* Reenable dropped fill processing
* Add gMA snapshot support
* Tidy up serum orderbook change detection
* cargo fmt
2023-01-20 14:52:01 +00:00
Riordan Panayides 49bcdeee77 Use new geyser plugin, add orderbook service 2022-12-16 11:00:42 +00:00
Riordan Panayides 2881378b7f Refactor metrics 2022-10-07 11:44:53 +01:00
Maximilian Schneider b41c094aba merge fill service 2022-03-28 20:01:16 +02:00
Christian Kamm cdf6d54156 Config: Separate out source config
We want to be able to not have a postgres target
2022-03-23 08:51:17 +01:00
Christian Kamm 3beaac671d Add memory_target and chain_data
This will be useful for storing account data in memory.
2022-03-23 08:19:19 +01:00
Christian Kamm 42f07d58a6 Keep slot, write_version etc as u64, convert only for postgres
This makes the conversion to i64 something that's local to the postgres
target, and doesn't affect unrelated code.
2022-03-23 08:18:02 +01:00
Christian Kamm f25c49d983 Configurable max account write queue size 2022-03-16 11:04:30 +01:00
Christian Kamm 80423fdac9 Track "is_selected" to denote closed/reused accounts 2022-01-28 10:12:01 +01:00
Christian Kamm dc80d8266c Process postgres cleanup jobs separately
Executing them for every rooted slot may overwhelm the database.
2022-01-20 14:49:51 +01:00
Christian Kamm 7d8fd45de4 Add support for updating a monitoring table
That way connector interruptions can be seen directly form the target
database.
2022-01-06 12:54:35 +01:00
Christian Kamm 5b5eaba4ff Pipeline SQL inserts for better performance
Previously insert speed was primarily limited by roundtrip time to the
database since they were fully sequential in each connection. Now a full
batch of inserts is done per connection in parallel.

This could still be improved a lot. Currently each connection will fully
wait for all inserts to be done in the current batch before starting
another one.
2022-01-04 10:15:57 +01:00
Christian Kamm d5395a3b75 Add config flag for deleting old data
Keeping it is very useful for testing.
2022-01-03 10:36:11 +01:00
Christian Kamm 17d6787bf1 Add TLS domain name argument 2021-11-30 17:15:41 +01:00
Christian Kamm b65815e4d4 gRPC: Optionally use TLS 2021-11-18 14:21:17 +01:00
Christian Kamm dde006243b Minor clippy fixes 2021-11-15 15:37:29 +01:00
Christian Kamm 8f6bd7bc22 Postgres: Allow parallel slot update connections
It would be nicer if many of the writes could happen on the same
connection. Separate connections are only necessary if transactions are
used.
2021-11-15 15:28:18 +01:00
Christian Kamm 343b5408bc Postgres: Add option to allow invalid certificates 2021-11-14 13:14:19 +01:00
Christian Kamm d889b5ff5b Move postgres numeric support to separate file 2021-11-09 14:32:58 +01:00
Christian Kamm 3a0e2535f0 Use anyhow::Result over Result<T, anyhow::Error> 2021-11-09 14:27:09 +01:00
Christian Kamm 4d5f0c5d10 Basic metrics 2021-11-09 09:00:00 +01:00
Christian Kamm 029cbd2fb5 Allow multiple grpc sources 2021-11-08 15:48:50 +01:00
Christian Kamm 11f4d6bd67 Use separate pubkey table 2021-11-08 14:10:48 +01:00
Christian Kamm a17f142875 Use enum for slot status 2021-11-08 12:44:01 +01:00
Christian Kamm 47f8bb823d Remove unnecessary trailing backslashes from multiline string literals 2021-11-08 11:59:57 +01:00
Christian Kamm 0424c3c9d6 grpc configurability 2021-11-08 11:42:22 +01:00
Christian Kamm d366581826 Make more postgres settings configurable 2021-11-08 11:30:17 +01:00
Christian Kamm d9cb30c2b3 Make parallel postgres connections configurable 2021-11-08 10:05:17 +01:00
Christian Kamm cbe9e16b62 Configurable program id 2021-11-08 09:57:56 +01:00
Christian Kamm e67dd6c235 Split into connector library, and raw and mango binaries 2021-11-08 09:45:41 +01:00