48 Commits

Author SHA1 Message Date
James Wilson 71744ade7c Expose GitHub hash in UI (#604)
* Expose GitHub hash in UI

* Prettier:fix

* cargo fmt

* Update tests

* Fix test
2025-08-28 18:05:46 +01:00
James Wilson 0cd8726ce5 Feat: Map Node Stats (Version, Operating System etc) to each Node in Feed (#591)
* added functionality for specifying node details per each node

* Backend done
Added new item in Ranking
node_map, mapping node id to node detail

Co-authored-by: Cyndie Kamau <cyndiekamaa@gmail.com>

* feat: last frontend working version

* chore: Clean up unused code

* fix(frontend): update node details to carry 10 fields

* chore: remove unnecessary code

* chore: run cargo fmt for formatting

* chore: run prettier to format frontend

* fixed e2e tests added missing struct params

* remoted .idea file

* Hide new columns by default, default to - if no data, and remove .idea folder

---------

Co-authored-by: MrishoLukamba <abdulrazzaqlukamba@gmail.com>
Co-authored-by: Cyndie Kamau <cyndiekamaa@gmail.com>
2024-09-25 14:01:42 +01:00
gopherorg bb4c7272d8 chore: fix some typos in comments (#589)
Signed-off-by: gopherorg <gopherworld@icloud.com>
2024-05-13 15:22:52 +01:00
divdeploy f132b8e90e chore: remove repetitive words (#581)
Signed-off-by: divdeploy <chenguangxue@outlook.com>
2024-04-05 10:40:23 +01:00
Alexandru Vasile b25f3fbf22 Add per Node Hardware Information to Telemetry Feed (#519)
* code: Add `sysinfo` and `hwbench` to the `AddedNode` message

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* code: Update `AddedNode` on `hwbench` updates

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* core: Rename cli flag `expose_node_ips` to `expose_node_details`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* core: Add hardware info only if the cli flag is enabled

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* tests: Adjust testing to the new `AddedNode` message

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* core: Move serialization of fields to the details array

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-01-27 17:33:48 +02:00
Alexandru Vasile dc2bc7704d cargo: Update vulnerable crates (#520)
* cargo: Update primitive-types to v 0.12.1

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update base64 to v 0.21

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update simple_logger to v 4.0.0

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update parking_lot to v 0.12.1

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update soketto to v 0.7.1

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update tokio-util to v 0.7.4

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update sha-1 to v 0.10.1

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update jemallocator to v 0.5.0

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update criterion to v 0.4.0

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update cargo.lock

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-01-26 17:17:40 +02:00
Alexandru Vasile 09b44ad00f Expose node's IP address via feed (#491)
* Fix typos

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* core: Extend `feed::LocatedNode` message with optional IP address

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* core: Expose IpAddr from locator task

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* core: Expose CLI flag to handle IP

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* tests: Consider Option<String> for IP address

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* core: Add node's IP directly to the Node's details

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Adjust testing and serialize node's ip address

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* frontend: Propagate IP address for deserialization purposes

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* core: Clarify the CLI flag documentation

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2022-08-17 15:35:36 +03:00
Dan Shields 006cf76d3b move to rust 2021, tweak macro (#428)
* cargo fix --edition

* move to rust 2021

* simplify macro now that patterns are supported natively

Co-authored-by: James Wilson <james@jsdw.me>
2021-11-15 14:52:16 +00:00
James Wilson 0b0cec0512 Make soak tests work again now that we subscribe by genesis hash (#399)
* Make soak tests work again with genesis hash subscribing

* cargo fmt

* derive hex from hash

* actually compile code

* fmt

Co-authored-by: David Palm <dvdplm@gmail.com>
2021-09-10 11:28:34 +01:00
James Wilson a3ffaf3c44 Flume fix part 2: avoid using flume in a couple of cases, and revert attempted fix#1 (#396)
* A second attempt to avoid the flume memory leak, since the first didn't actually work

* No luck with second flume fix, so revert to futures::mpsc in a few places)

* cargo fmt

* Add a comment to cover use of into_stream
2021-09-03 15:55:25 +01:00
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 ec5db0fbbf Bump tokio to 1.10 and add a test to confirm memory usage of rolling_total (#392) 2021-08-31 20:18:46 +02:00
James Wilson 230987036a cargo fmt 2021-08-12 16:01:35 +01:00
James Wilson bd7a21ec39 Flumify everything 2021-08-12 16:01:17 +01:00
James Wilson 7aa4ad49b3 bump the msg timeout a little higher 2021-08-12 13:10:17 +01:00
James Wilson 4480bbe72a Allow errors as well as closes for now to remove some brittleness 2021-08-12 12:40:53 +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 88c3db3562 cargo fmt 2021-08-06 17:44:26 +01:00
James Wilson 0788270756 Add 'subscribe' benchmark 2021-08-06 14:22:01 +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 5d81128e74 create more realistic soak test so that we can see a more representative UI in action 2021-08-03 15:40:20 +01:00
James Wilson a5b04cb4f0 improve socket channel close handling, and test the node banning (roughly) 2021-07-30 18:58:10 +01:00
James Wilson 3f523178be Fix broken test (node being banned) and allow test config of new max-bytes option on shard 2021-07-30 16:55:06 +01:00
James Wilson b70ab9ed3d Add license to the top of each source file 2021-07-29 17:34:40 +01:00
James Wilson 9ec48adcaa Wee tidy up of test code 2021-07-27 14:45:45 +01:00
James Wilson 2ca5f6a1fb cargo fmt 2021-07-27 12:38:05 +01:00
James Wilson a44f39cfaf Add/test max_nodes_per_connection feature 2021-07-27 12:37:32 +01:00
James Wilson ecf5fccaab make possible to test, test, and fix feed cutoff 2021-07-26 16:38:24 +01:00
James Wilson e043de8ddb Expose raw Soketto interface via ws_client for more control where needed (eg in tests) 2021-07-26 11:31:40 +01:00
James Wilson cca1df2e21 use ws_client in shard, too, and make it better at handling core disconnecting 2021-07-20 13:04:10 +01:00
James Wilson 36c4e7b0ef Remove flamegraph bits 2021-07-19 17:11:31 +01:00
James Wilson 73a4dbb095 Allow tests to hook up to running process to help with profiling 2021-07-19 15:57:39 +01:00
James Wilson 582c49413b Make server able to run old or new binary so that we can compare the actix version with this one 2021-07-16 17:58:26 +01:00
James Wilson 81a0140c3b bump wait-time for port to be ready; build-host is slower to compile than my laptop.. 2021-07-16 10:03:38 +01:00
James Wilson fd79b3e85b Add some tests, and add a configurable soak test 2021-07-15 17:18:58 +01:00
James Wilson db8ea9a8f3 Add more tests, fix (and test for) a deadlock re overquota messages, more unbounded channels and less .awaiting 2021-07-15 10:53:02 +01:00
James Wilson 86a3edf053 increase wait-for-port timeout to accomodate for --release mode and slower machines 2021-07-14 15:14:47 +01:00
James Wilson e34da5761f move tests around and add (non working) benchmark 2021-07-14 15:05:09 +01:00
James Wilson c1208b9e81 cargo fmt 2021-07-13 16:51:24 +01:00
James Wilson 9ac5ea7624 Various bits and pieces to address PR comments 2021-07-13 16:51:14 +01:00
James Wilson faedba87d4 no e2e feature, and don't assume 'cargo run' is a good default 2021-07-13 11:12:23 +01:00
James Wilson cfe7ff39bb contains_matches macro and more tests 2021-07-12 17:21:01 +01:00
James Wilson c6c262c9c5 tidyup, add more e2e tests, fix (and test a little) feed msg decoding, supporting bits 2021-07-12 13:17:24 +01:00
James Wilson 28be68e65f Get a basic first test working, and lots of changes to supporting code to facilitate this 2021-07-09 19:41:53 +01:00
James Wilson c043393e28 Write some basic test utils to get going; time to start trying them 2021-07-09 19:41:51 +01:00
James Wilson f2adead2e9 rename binaries for clarity, and first pass of connect_to_servers test util 2021-07-09 19:41:47 +01:00
James Wilson 8bf412cad9 Begin writing the core utils that we'll use for testing things 2021-07-09 19:41:36 +01:00