47 Commits
Author SHA1 Message Date
SatoshiQaziMuhammed 925b6c9bcd Move vulnerable dependencies to patched versions (#7)
* Move vulnerable dependencies to patched versions

Backend (Cargo.lock): openssl 0.10.55 -> 0.10.81, bytes 1.12.1, h2 0.3.27,
tokio 1.26 -> 1.47.1 (mio 1.x), url 2.3.1 -> 2.5.7 (idna 1.1), rand 0.8.8,
spin 0.9.9, time 0.3.55, ring 0.17.14.

Three alerts needed manifest changes:

- tokio-rustls 0.23 -> 0.26 (rustls 0.20 -> 0.23), which is what moves
  ring off 0.16. The ring provider is selected explicitly instead of the
  default aws-lc-rs, so the image build needs no cmake/C toolchain; roots
  still come from webpki-roots (now 1.0). Checked against live hosts: a
  valid certificate connects, an expired one and a name mismatch are
  refused.
- maxminddb 0.23 -> 0.27: lookup() now returns a result that is decoded,
  and the City model's fields are no longer Options. The existing
  locate_random_ip test (12.5.56.25 -> "Gardena") passes.
- structopt (clap 2, which pulled atty) -> clap 4 derive in telemetry_core,
  telemetry_shard and the soak tests; criterion 0.4 -> 0.5 for the same
  reason. Both binaries' arguments were parsed before and after for the
  docker-compose invocations and a set of other cases: identical results,
  except that `--feed-timeout` given without a value is now an error where
  structopt silently used the default. --denylist keeps taking every value
  up to the next flag (num_args = 1..), as its help text describes.

Frontend: npm audit fix within ranges, and webpack-dev-server 4 -> 5.2.6
(no devServer options are configured, so nothing to migrate). Left:
sockjs -> uuid 8 inside webpack-dev-server 5; the fix is 6.0, which needs
Node 22 while CI runs 20, and it is the local dev server only.

Checked: backend cargo test (58 passed), clippy, fmt; frontend lint,
prettier, test and build.

* Reject an invalid byte size instead of panicking

ByteSize::from_str called expect("all ascii digits") on the numeric part,
so a value with no digits ("abc", "k") or one too large for usize
aborted the shard at startup with a panic instead of a usage error, and
the suffix multiplication could overflow silently in release builds.
Parse errors now return Err and the multiplication is checked.

The new test fails on the old code (panic) and passes on this one.
2026-10-03 04:44:21 +04:00
Kurdistan Tech Ministry 2b1872f24e Rebrand to Pezkuwichain Telemetry
- Rename PolkadotIcon to PezkuwiIcon
- Update pinned chains for Pezkuwichain
- Add pezkuwichain, bizinikiwi, pezkuwichain-js icons
- Update favicon with Pezkuwi branding
- Update package.json author to Dijital Kurdistan Tech Institute
- Update GitHub links to pezkuwichain/pezkuwi-telemetry
- Update backend Cargo.toml authors
- Rewrite README with Pezkuwichain documentation
- Add GitHub workflows (frontend-ci, backend-ci, docker, lock)
2026-01-08 16:40:51 +03:00
James WilsonandVolodymyr Brazhnyk 4a5cd54cd8 Backend: add parallel cpu benchmarks processing (#603)
* Add parallel cpu benchmarks processing

* Expose Parallel Hashrate Score in UI (as 'Parallel CPU speed')

* Remove unused variable and fix cfg(debug)

* Fix tests after removing old_chain_name

* Update Dockerfile

* bullseye for both images

---------

Co-authored-by: Volodymyr Brazhnyk <volbr@pm.me>
2025-08-28 14:52:08 +01:00
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
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
Igor Matuszewski bbf2a5d4b0 fix(shard): Ignore duplicate node adds with same message ID (#514)
* fix(shard): Ignore duplicate node adds with same message ID

* adapt the test
2022-11-30 13:17:07 +00:00
James Wilson e7d15d03b3 Tweak logs and attempt to avoid races around removing nodes (#504)
* Tweak logs and attempt to avoid races around removing nodes

* wrapping_add in assign_id
2022-10-10 13:12:07 +01: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
James Wilson ad21d0cff0 Remove unused AuthoritySet bits. Fix soak test warnings (#489) 2022-08-08 11:13:26 +01:00
Koute 45878f9876 Add per-chain aggregate software/hardware telemetry (#464)
* Add per-chain aggregate software/hardware telemetry

* Fix tests' compilation

* Add extra comments for the `Counter` struct

* Replace the boolean argument with an enum

* Rename `replace_hwbench` to `update_hwbench`

* Move `Counter` into a separate file

* Move `ChainStatsCollator` to `chain_stats.rs`

* Fix incorrect key on the unknown table

* Improve types for the stats component; get rid of `any`
2022-04-27 18:44:34 +09:00
James WilsonandDavid 17432d712f Remove broken "Consensus" tab from UI and related code (#434)
* Remove consensus-tab related stuff, and unused messages, from the telemetry backend

* also remove AfgAuthoritySet feed message, and handle same from node

* Blat everything consensus related that I can find in the UI

* cargo fmt

* README: had -> has

Co-authored-by: David <dvdplm@gmail.com>

Co-authored-by: David <dvdplm@gmail.com>
2021-11-25 12:34:36 +00:00
Dan ShieldsandJames Wilson 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 b4b128f9fe Tidy up stale connections. (#406)
* If messageId changes and network ID doesn't, remove 'old' message_id

* Boot nodes/connection when no recent messages received for it

* Separate task needed for soketto recv to avoid cancel-safety issues with new interval

* Wee tidy up

* cargo fmt

* Add some logging around node adding/removing

* Another log info msg

* a bit of tidy up

* bump stale node timeout to 60s
2021-09-21 15:49:42 +01:00
James Wilson 2932075783 Avoid using flume::Receiver::into_stream() to avoid memory leaks until the issue is resolved upstream (#394)
* Tweak rolling_total test to also confirm capacity doesn't go nuts

* Use Jemalloc

* Avoid flume's into_stream and use a workaround for now

* cargo fmt

* Improve comments now that there's an issue to point to
2021-09-03 08:40:43 +01: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 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 bd7a21ec39 Flumify everything 2021-08-12 16:01:17 +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 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 0788270756 Add 'subscribe' benchmark 2021-08-06 14:22:01 +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 a5b04cb4f0 improve socket channel close handling, and test the node banning (roughly) 2021-07-30 18:58:10 +01:00
James Wilson a368553085 Add note and reduce max data per second default as we expect much less traffic than existing avg 2021-07-30 15:39:30 +01:00
James Wilson b70ab9ed3d Add license to the top of each source file 2021-07-29 17:34:40 +01:00
James Wilson 51e2330777 tweak a log message 2021-07-29 08:56:34 +01:00
James Wilson aa63e2960c block addresses from reconnecting if they send too much data 2021-07-28 16:43:51 +01:00
James Wilson 5f022069db cargo fmt 2021-07-28 16:15:34 +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 a44f39cfaf Add/test max_nodes_per_connection feature 2021-07-27 12:37:32 +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 cf0e424803 Adapt shard to use hyper+soketto instead 2021-07-23 17:07:29 +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 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 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 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 f2adead2e9 rename binaries for clarity, and first pass of connect_to_servers test util 2021-07-09 19:41:47 +01:00