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