284 Commits

Author SHA1 Message Date
pezkuwichain 0feb4adeb8 Update Dockerfile labels to Pezkuwichain branding
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 17:05:24 +03:00
pezkuwichain 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 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 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
clostao 4161d9a2a5 Fix typo incrementing instead of decrementing (#595)
* fix: typo incrementing instead of decrementing

* Add tests for MostSeen decrement bug 

This bug requires a specific set of circumstances to trigger
and become visible:
1. decrement a label that is non-zero but not first
2. repeat the decrement at least best_count()/2 times
3. increment that label
4. check the best count

---------

Co-authored-by: teor <teor@riseup.net>
2025-01-10 15:53:42 +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
tgolang e2a17cb945 chore: fix some typos in comments (#586)
Signed-off-by: tgolang <seekseat@aliyun.com>
2024-04-30 09:42:53 +01:00
James Wilson 7bf2925a23 Update GeoLite database (#583)
* Update GeoLite database

* fmt and fix test

---------

Co-authored-by: Milos Kriz <milos_kriz@hotmail.com>
Co-authored-by: Milos Kriz <82968568+miloskriz@users.noreply.github.com>
2024-04-12 11:09:06 +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 4378fd2192 Improve reported statistics (#553)
* frontend: Update package lock

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

* frontend/stats: Format linux kernel version

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

* backend: Add [64; 128) RAM bucket

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

* backend: Parse kernel string to include only version numbers

The linux kernel version string is parsed to include only
the kernel version, major version and minor version.
Ignoring the patch number and kernel specific info leads to
a better aggregation of data.

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

* backend: Fix typo

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

* core: Add CPU vendor to reported chain stats

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

* frontend: Propagate CPU vendor to UI

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

* backend: Parse kernel version by `+`

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

* backend: Add CPU vendors and ignore ascii case

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

* Revert "frontend/stats: Format linux kernel version"

This reverts commit 411b9a4ceef9c664816404eaee1fb64f61fe85b3.

* backend: Fix plus sign test

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

* backend: Trim kernel versions

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

* backend: Modify cpu_vendor

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

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-11-03 15:13:38 +02:00
Alexandru Vasile 35b583d5f0 artifacts: Update GeoLite database (#551)
* Update GeoLite city database

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

* core: Update DB download link and add copyright link

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

* core/tests: Adjust location for random IP address

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

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-10-17 17:41:44 +03:00
dependabot[bot] d84947f148 Bump webpki from 0.22.0 to 0.22.2 in /backend (#547)
Bumps [webpki](https://github.com/briansmith/webpki) from 0.22.0 to 0.22.2.
- [Commits](https://github.com/briansmith/webpki/commits)

---
updated-dependencies:
- dependency-name: webpki
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 14:12:11 +02:00
dependabot[bot] d47f594886 Bump openssl from 0.10.48 to 0.10.55 in /backend (#537)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.48 to 0.10.55.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.48...openssl-v0.10.55)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 14:53:47 +03:00
dependabot[bot] 3828898c20 Bump h2 from 0.3.15 to 0.3.17 in /backend (#530)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.15 to 0.3.17.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.15...v0.3.17)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-14 11:26:04 +01:00
dependabot[bot] bc7ac2b632 Bump openssl from 0.10.45 to 0.10.48 in /backend (#529)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.45 to 0.10.48.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.45...openssl-v0.10.48)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-27 11:52:30 +01:00
Sergejs Kostjucenko a5f2dd9362 fix ci one more time (#525) 2023-02-21 14:35:13 +02:00
Sergejs Kostjucenko bd1555e7d7 ci test dockerfiles description publishing (#524)
* test dockerfiles description publishing

* fix formatting

* add link
2023-02-21 14:15:45 +02:00
Sergejs Kostjucenko ed3c74ee66 ci: publish docker images description (#522)
* ci publish docker images description

* fix extend refs
2023-02-21 13:41:51 +02: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
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 d525056190 core: Fix noisy logs caused by closing the /feed browser (#496)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2022-08-29 16:20:35 +03: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
Renjie Cai 65ad10b715 support https and wss core url in shard's ws client (#488)
* support https and wss core url in shard's ws client

* fmt

* small fix
2022-08-04 17:01:32 +01:00
Ivan 5bff41d0c1 Add geoip db (#477)
* Use geoip for ipv4 city lookup

Signed-off-by: i1i1 <vanyarybin1@live.ru>

* Add support for ipv6

Signed-off-by: i1i1 <vanyarybin1@live.ru>

* Wrap locator into a blocking task

* Dummy change to try and trigger CI pipeline.

Co-authored-by: James Wilson <james@jsdw.me>
2022-07-19 22:06:07 +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 Wilson c00cab33c9 Allow chains to be sorted and filtered (#440)
* Allow soak tests to generate lots of chains for testing

* Style tweaks, and redo 'all chains' modal

* make highlighted text readable on selected chain

* cargo fmt

* Update frontend/src/index.css

Fix a typo

Co-authored-by: Tarik Gul <47201679+TarikGul@users.noreply.github.com>

* A couple more wee telemetry style tweaks

* ..but make the tab animation faster

* Be more defensive checking for event target

* Comment out animation for now

Co-authored-by: Tarik Gul <47201679+TarikGul@users.noreply.github.com>
2022-01-10 14:57:18 +00:00
James Wilson 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 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 7ff9a316d1 First/Third party by genesis hash, not label. Make limit configurable and default to 1k (#424)
* First/Third party by genesis hash, not label. Make limit configurable

* Fix a test that relies on not being a node limit

* remove a now-invalid comment

* Cargo fmt

* Fix another naff comment

* Update backend/telemetry_core/src/state/chain.rs

Comment tweak

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

Co-authored-by: David <dvdplm@gmail.com>
2021-10-13 13:08:53 +01:00
James Wilson 38c5dff0b7 Saturating sub timestamp from now to avoid possible undeflowr (#420) 2021-10-01 16:55:35 +01:00
James Wilson 7ac88a7e84 Expose total messages sent to aggregator, too (#416)
* Expose total messages sent to aggregator so we can make better graphs with total dropped msgs

* cargo fmt

* use write to hopefully avoid some allocating

* add 'core' namespace to telemetry metrics for better future clarity

* cargo fmt
2021-09-30 12:21:37 +01:00
James Wilson ed6e292d25 Clean up shard channel when shard disconnects (#411) 2021-09-24 10:48:54 +01: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 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 fe19a75414 Un-brittle-ify backend E2E tests and have them run by default again in CI (#397)
* test running tests

* Add delay so that core knows about node before feed subscribes to limit chance of race

* move delaye to the right place

* Don't do expensive docker step untill we will be pushing the image

* docker test skipped as hoped, so push to 'true'

* just remove docker steps in github CI entirely since they aren't needed by anything (gitlab CI does this stuff now)

* run CI on pull requests too to catch PRs from forks
2021-09-06 11:30:17 +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
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
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 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
Chevdor 19db1a48ef Hardening of the Backend docker image (#379)
* Add script to build the backend
* harden the backend docker image
* fix docker-compose
* fix doc
2021-08-26 14:32:11 +02: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 811babca27 Merge branch 'master' into jsdw-sharding-gatekeeper 2021-08-13 11:16:47 +01:00