Maciej Hirsz
a4069e4b3d
Subscribe to chains by genesis hash ( #395 )
...
* Handle subscription by hash in the frontend
* Forward-ported backend changes
* Fix unit tests
* Remove unused `chains_by_label`
* fmt
* Updated but failing E2E tests
* subscribe by genesis hash in tests
* fmt
* Copy `BlockHash` instead of returning a ref
* Pin chains by genesisHash
Co-authored-by: James Wilson <james@jsdw.me >
2021-09-02 17:54:19 +02:00
James Wilson
87866b2d42
Improve logging and error reporting around IP and location info ( #386 )
...
* Beef up error reporting of IP and location info
* Tidy up error reporting after some manual testing of it
* Don't cache erroneous locations; try again when asked again
* cargo fmt
2021-08-27 16:16:26 +01:00
James Wilson
7a3e30cb01
Don't remove all feeds subscribed to a chain when one disconnects ( #383 )
...
* Only remove the feed that disconnected to not break the rest...
* use multimap struct to avoid sync issues between feed and chain
* add a remove test, too
* cargo fmt
* fix name of test
* move multimap to common so we can doctest it and add 'unique' to name
* cargo fmt
* Return old key if value moved to make uniqueness more obvious
2021-08-27 08:05:44 +01:00
James Wilson
46b0641dfd
Clarify wording
2021-08-13 11:45:03 +01:00
James Wilson
77460ffc27
cargo fmt
2021-08-13 11:35:24 +01:00
James Wilson
b842c7fc8b
expose dropped message counts and fix some typos/wording
2021-08-13 11:33:53 +01:00
James Wilson
05a3ba3fef
Fix/expand a few comments
2021-08-12 16:20:05 +01:00
James Wilson
230987036a
cargo fmt
2021-08-12 16:01:35 +01:00
James Wilson
9017f328f0
Add comment explaining prometheus metrics endpoint body
2021-08-12 16:01:33 +01:00
James Wilson
92da674d4d
Expose metrics in a format that prometheus understands
2021-08-12 16:01:32 +01:00
James Wilson
6db7f484ef
Fix compile err with diagnostic msg
2021-08-12 16:01:29 +01:00
James Wilson
ab2303ce5c
more diagnostic logging
2021-08-12 16:01:27 +01:00
James Wilson
3319709f7b
Add periodic interval to core loop and print debug info
2021-08-12 16:01:25 +01:00
James Wilson
bd7a21ec39
Flumify everything
2021-08-12 16:01:17 +01:00
James Wilson
11b0b3a3c7
remove final use of futures::mpsc and replace with flume
2021-08-12 16:01:15 +01:00
James Wilson
703a9ddc4e
use flume throughout telemetry_core
2021-08-12 16:01:14 +01:00
James Wilson
8268cf2afe
print feed 1 msg len
2021-08-12 16:01:12 +01:00
James Wilson
98c9ccd278
fmt, clean warnings, tidy aggregator opts and add queue length limit
2021-08-12 16:01:11 +01:00
James Wilson
968dd2b957
Try to force new thread for msg counter to ensure it has time to print
2021-08-12 16:01:09 +01:00
James Wilson
b97aec99a8
monitoring queue len
2021-08-12 16:01:07 +01:00
James Wilson
87c0ee7d0d
monitor aggregator length (dont discard msgs yet)
2021-08-12 16:00:56 +01:00
James Wilson
770dd04b57
invert logic to make name make sense and fix comment typo
2021-08-12 12:47:29 +01:00
James Wilson
80d6ad916e
Address David's comments
2021-08-11 17:23:22 +01:00
James Wilson
f26b39ac63
Address feedback from Niklas
2021-08-11 16:59:11 +01:00
James Wilson
9f76fabaed
give tokio threads a more convenient name for monitoring purposes
2021-08-09 11:36:46 +01:00
James Wilson
b22efc804a
Fix comment typo
2021-08-09 10:56:01 +01:00
James Wilson
626fe95d89
1 aggregator loop by default for now
2021-08-09 10:13:10 +01:00
James Wilson
c469ef8dfe
make AggregatorSet close to zero cost when only 1 aggregator asked for
2021-08-09 10:09:17 +01:00
James Wilson
c99cbee1e9
Allow multiple aggregator loops in the core to try and spread feed subscription/send cost out
2021-08-07 17:08:58 +01:00
James Wilson
9c001bdcfd
Add a comment on core worker threads
2021-08-06 17:50:50 +01:00
James Wilson
8017d8b00f
Cargo fmt
2021-08-06 17:49:19 +01:00
James Wilson
78ad7115e5
set sensible worker thread limits again but allow full control to caller
2021-08-06 17:49:04 +01:00
James Wilson
88c3db3562
cargo fmt
2021-08-06 17:44:26 +01:00
James Wilson
74cf55174e
Use rayon to speed up subscribe message serializing
2021-08-06 17:42:03 +01:00
James Wilson
0788270756
Add 'subscribe' benchmark
2021-08-06 14:22:01 +01:00
James Wilson
dbabd453e0
Remove feed message cap; it wasn't pulling its weight
2021-08-05 12:21:16 +01:00
James Wilson
bc75ebb068
default core/shard worker threads to 8/4 respectively
2021-08-05 12:18:44 +01:00
James Wilson
4da299bf76
Tweak logging around connections opening and messages coming in
2021-08-05 12:11:46 +01:00
James Wilson
acfe3d45d1
num-cpus to worker-threads; more accurate name
2021-08-05 11:31:47 +01:00
James Wilson
759d28b1a2
add --num-cpus option
2021-08-05 11:11:23 +01:00
James Wilson
6221cbfd17
Dev tweaks for testing
2021-08-05 11:11:05 +01:00
James Wilson
b70ab9ed3d
Add license to the top of each source file
2021-07-29 17:34:40 +01:00
James Wilson
83d31ef0b3
Add rolling total and allow control over bytes per second allowed from node connections
2021-07-28 16:08:02 +01:00
James Wilson
2ca5f6a1fb
cargo fmt
2021-07-27 12:38:05 +01:00
James Wilson
ecf5fccaab
make possible to test, test, and fix feed cutoff
2021-07-26 16:38:24 +01:00
James Wilson
50935b29fc
put a deadline on message sending to feeds
2021-07-26 11:52:46 +01:00
James Wilson
cf0e424803
Adapt shard to use hyper+soketto instead
2021-07-23 17:07:29 +01:00
James Wilson
480abd1e49
remove println
2021-07-23 16:21:30 +01:00
James Wilson
0eff32d10e
Migrate telemetry_core to Hyper+Soketto
2021-07-23 15:57:50 +01:00
James Wilson
649fb966d2
Improve comment and bias select loop
2021-07-21 17:48:18 +01:00