* 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>
* 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>
* 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>
* 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>
* 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`
* 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>
* 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>
* 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
* 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
* 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
* 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
* 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>
* 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
* 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