Commit Graph

3579 Commits

Author SHA1 Message Date
Benjamin Kampmann d155a9d97d Fix non-linux build of sc-client (#5524)
* procfs is linux only

* also for the import

* fixup non-linux build
2020-04-04 19:52:19 +02:00
Benjamin Kampmann 247822bb33 Additional Metrics collected and exposed via prometheus (#5414)
This PR refactors the metrics measuring and Prometheus exposing entity in sc-service into its own submodule and extends the parameters it exposes by:

- system load average (over one, five and 15min)
- the TCP connection state of the process (lsof), refs #5304
- number of tokio threads
- number of known forks
- counter for items in each unbounded queue (with internal unbounded channels)
- number of file descriptors opened by this process (*nix only at this point)
- number of system threads (*nix only at this point)

refs #4679

Co-authored-by: Max Inden <mail@max-inden.de>
Co-authored-by: Ashley <ashley.ruglys@gmail.com>
2020-04-04 15:13:35 +02:00
Shawn Tabrizi 6847f8452e Simple Staking Payouts (#5406)
* Simple Payouts

* explicit test for out of order claiming

* Add `payout_all` benchmark

* Fix merge

* add docs

* change event to controller

* Fix timestamp test warnings

* Revert "change event to controller"

This reverts commit 5d4a97832d47fe1273602d5410774d5421940c4e.

* Update Reward event doc

* Add "non-production" test

* add unlock chunk to test

* fix merge

* End payout early if no reward points

* payout_validator -> payout_stakers

* bring back payout nominator/validator, but limit their use to before migration era

* Add test for before migration

* New payout works for the era that we migrate

* Fix logic, check that migration era works

* Migrate Era tests (copypasta)

* Move comment

* Add mock back to external functions

* Fixes based on review from gui

* Update Cargo.lock

* Update Cargo.lock

* small docs update

Co-authored-by: joepetrowski <joe@parity.io>
2020-04-04 14:50:08 +02:00
Gavin Wood 7c0fa83720 EnsureOrigin is a frame abstraction - it should be in frame_support (#5521)
* EnsureOrigin is a frame abstraction - it should be in frame_support

* Fixes
2020-04-04 12:58:05 +02:00
André Silva f0375a858f support: add lateness trait (#5519)
* support: add lateness trait

* babe: implement the lateness trait

* babe: add docs about lateness entry lifetime

* babe: don't use option for lateness storage entry
2020-04-04 09:59:15 +02:00
Pierre Krieger 8c03a4fcef Split the Roles in three types (#5520)
* Split the Roles bitfield in three

* Forgot to include some changes

* Fix cli test

* More test fixes

* Oh God, merging master broke other tests

* Didn't run the doctests

* Address review

* I'm trying to fix the build blindly because it's taking a good hour to compile on my machine

* Address some review

* Also update the peerset's API to make sense

* Fix peerset tests

* Fix browser node

* client: distinguish between local and network authority

Co-authored-by: André Silva <andre.beat@gmail.com>
2020-04-03 19:08:14 +02:00
Denis Pisarev 9dbcb11f66 prepopulate CARGO_HOME caches (#5505)
* test (ci): prepopulate caches with debug

* test (ci): error in path

* optimization (ci): CARGO_HOME cache prepopulation
2020-04-03 16:48:07 +02:00
Alexander Theißen 8f819f4ba6 Make Dispatchable return the actual weight consumed (#5458)
* Make Dispatchable return the actual weight consumed

Add PostInfo associated type to Dispatchable and have frame implement
Dispatchable { type PostInfo = PostDispatchInfo } where PostDispatchInfo
contains the actual weight consumed.

* Fix whitespace issues in docs
2020-04-03 16:45:30 +02:00
gabriel klawitter 14505471ee ci: check_polkadot: check for companion (#5429) 2020-04-03 16:42:18 +02:00
Nikolay Volf 6eea144f04 Use custom runner for import benchmarks (#5477)
* custom benchmark runner

* add license preamble

* delete old benchmarks

* update toml

* imporove macro

* tabs

* add size

* size fixes

* add docs for cli
2020-04-03 16:41:33 +02:00
Shawn Tabrizi 68169039ac Run Runtime Benchmarks on Block One (#5509)
* Run benchmarks on block 1

* Put example benchmarks behind feature flag

* add feature to cargo.toml

* typo

* Add `frame_system` trait bound

* Update instance benchmarks too
2020-04-03 16:29:59 +02:00
Shawn Tabrizi 76cf0ea6a6 Can't have zero nominations (#5510) 2020-04-03 15:13:04 +02:00
cheme 334e9333a1 Companion PR ci sed issue. (#5508)
* ci: fix echo sed failure

Co-authored-by: gabriel <gabriel@parity.io>
2020-04-03 17:51:21 +05:30
Pierre Krieger c9f3d16f44 Improve warning about notifications queue and remove spurious triggers (#5512)
* Better logging for notifications and buffer size increase

* Address review

* Improve warning about notifications queue and remove spurious triggers
2020-04-03 14:14:55 +02:00
Cecile Tonglet 0426e17116 Update CONTRIBUTING.adoc (#5511)
* Update CONTRIBUTING.adoc

* Update docs/CONTRIBUTING.adoc

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-04-03 11:53:38 +02:00
Alexander Krupenkin af3bb3502d Added Robonomics network standard account prefix (#5506) 2020-04-03 10:19:52 +02:00
Pierre Krieger e8dfb37aaf Add a sub_libp2p_notifications_queues_size Prometheus metric (#5503)
* Add a sub_libp2p_notifications_queues_size Prometheus metric

* Fix network tests

* Address review
2020-04-03 08:43:55 +02:00
Joshy Orndorff 7983a8184b Remove unused dependency on safe-mix (#5495) 2020-04-03 01:25:13 +02:00
Gavin Wood 3b43429729 More emojies and spaces (#5498)
* More emojies and spaces

* Sync emojis

* More emoji
2020-04-02 20:17:39 +02:00
André Silva 2e720f93a2 cli: fix milliseconds formatting on logs (#5507) 2020-04-02 20:16:45 +02:00
Bastian Köcher 9a14d45a13 Use saturating sub in basic authorship (#5493)
This pr ensures that we don't panic because of a deadline that is
already reached in basic authorship. This is mainly useful for debug
builds, as release builds normally don't have debug assertions enabled.
2020-04-02 12:38:02 +02:00
Denis Pisarev 8a85439427 ci: divide cache between branches (#5494) 2020-04-02 11:58:30 +02:00
cheme 58578af074 State metrics possible changes (#5168)
* Registering state from overlay.

* fix

* fix2

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-04-01 19:46:40 +02:00
Pierre Krieger a8aedfa16f Switch to new light client protocol (#5472)
* Switch to the new protocol

* Oops, forgot to remove light_dispatch.rs

* Fix tests

* Address review
2020-04-01 19:44:42 +02:00
André Silva c4aa597516 babe: restore epoch changes migration code (#5487)
This was removed in https://github.com/paritytech/substrate/pull/5291
but is still too early to do it as it requires nodes still on Polkadot
v0.7.26 to resync from scratch.
2020-04-01 19:43:34 +02:00
Gavin Wood b86c7e87a9 A few missing emojies (#5490)
* A few missing emojies

* P2p message emojis

* Add a bit of colour

* format

* Introduce a couple of spaces

* Some spaces
2020-04-01 19:41:48 +02:00
Pierre Krieger 84ff6ef157 Remove DiscoveryNetBehaviour trait (#5430) 2020-04-01 16:25:53 +01:00
Cecile Tonglet 72239adda1 check_polkadot.sh: use the branch matching substrate's branch if possible (#5468)
* check_polkadot.sh: use the branch matching substrate's branch if possible

* convert to grep

* update comment
2020-04-01 19:52:34 +05:30
Gavin Wood eac1a1964e Introduce scheduler and use it for the democracy dispatch queue (#5412)
* Initial draft of the logic

* Build and tests

* Make work with new initialize infratructure.

* Update frame/scheduler/src/lib.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

* Update frame/scheduler/src/lib.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

* Update frame/scheduler/src/lib.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

* Update frame/scheduler/src/lib.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

* Fix test

* Update frame/scheduler/src/lib.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

* Rejig interface to make it more useful for democracy.

* Try to get democraxy module to make use of scheduler.

* Make democracy use scheduler.

* Use actual max weight for enactent

* Remove TODO

* Fix runtime build

* Minor cleanup

* Fix scheduler.

* Fix benchmarks

* Fix

* Fix

* Fix

* More bench fixes

* Fix

* Fix.

* Add more bench constants.

* Fix cancel_queued bench.

* Fix test comment.

* Update frame/scheduler/src/lib.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

Co-authored-by: Marcio Diaz <marcio.diaz@gmail.com>
2020-04-01 15:52:39 +02:00
Arkadiy Paronyan 433824511e Reset benchmarks by removing post-genesis changes (#5435)
* Reset by removing pos-genesis changes

* CLI option for DB cache size

* Update Cargo.lock

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-04-01 14:08:23 +02:00
Nikolay Volf 159d830d62 remove ws feature from json client (#5478) 2020-04-01 01:16:24 +02:00
Shawn Tabrizi 74b008a729 Benchmark Utility Pallet (#5384)
* Move tests

* Move around feature cfgs

* Start benchmarks

* as_multi bench

* finish

* fix tests

* Update frame/utility/src/benchmarking.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

* Update Cargo.toml

* fix test

Co-authored-by: Marcio Diaz <marcio.diaz@gmail.com>
2020-03-31 22:53:21 +02:00
Kian Paimani 63e6f81776 Fix Collective <-> Elections initialization. (#5454)
* A patch

* Fix

* Better approach.

* Fix grumbles
2020-03-31 22:40:28 +02:00
Bastian Köcher 21c92dfd29 Check that PerThing valid on decode (#5475) 2020-03-31 20:54:57 +02:00
Max Inden 091335780e client/finality-grandpa: Instrument until-imported queue (#5438)
* client/finality-grandpa: Instrument until-imported queue

The `UntilImported` queue takes as input finality grandpa messages that
depend on blocks that are not yet imported and holds them back until
those blocks are imported.

This commit adds a basic metric, the amount of messages waiting in the
queue, to the module. For now this metric is only available for the
global `UntilImported` queue awaiting blocks for commit and catch-up
messages.

* client/finality-grandpa/src/until_imported: Update metric help text

Co-Authored-By: Ashley <ashley.ruglys@gmail.com>

Co-authored-by: Ashley <ashley.ruglys@gmail.com>
2020-03-31 20:17:14 +02:00
Pierre Krieger f04486e5bc Increase limit on light client response size (#5461)
* Increase limit on light client response size

* Address review
2020-03-31 20:16:56 +02:00
Drew Stone 9789054fb8 Add deposit/withdraw events to EVM module (#5440)
* Add deposit/withdraw events

* Remove balances trait
2020-03-31 20:16:41 +02:00
gabriel klawitter 2008d3601a ci: check_polkadot_companion_status: don't verify mergeable_state (#5473) 2020-03-31 19:33:35 +02:00
thiolliere 1363675adb safe slice operation (#5471) 2020-03-31 18:41:55 +02:00
Shawn Tabrizi 2e76e2a74d Prevent events from being emitted during genesis construction (#5463)
* Don't populate runtime events in genesis

* typo

* Change to block zero

* Fix vesting tests

* Update frame/system/src/lib.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update frame/system/src/lib.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Add test

* Fix test

* Fix contract tests

* Fix phragmen tests

* Fix Generic Assets Tests

* Fix offences tests

* Fix im-online

* fix recovery

* Fix utility tests

* Shorter

* Use ext

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-03-31 15:57:08 +02:00
Gavin Wood b472d60a52 Batch benchmarks together with * notation. (#5436)
* Batch benchmarks together with `*` notation.

* Fix short structopt conflict

* Return error if `batches` is empty

* Move fast benchmarks macro into `frame_benchmarking` (#5445)

* Move macro into `frame_benchmarking`

* Update docs

* Extra line

* Return error if `batches` is empty

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2020-03-31 15:20:09 +02:00
Bastian Köcher 954dca689d Implements mocking of runtime apis (#5448)
* Implements mocking of runtime apis

This pr adds support for easily mock runtime api implementations for
tests by using the `mock_impl_runtime_apis!` macro. The syntax is
similar to `impl_runtime_apis!`. The mocked implementation automatically
implements `ApiExt`, `ApiErrorExt` and `Core` as these are required by
the runtime api traits, but not required in tests or only a subset of them.

* Fix warnings

* Update primitives/api/proc-macro/src/utils.rs

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* Review feedback

Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
2020-03-31 13:46:07 +02:00
Nikolay Volf b4d83a4b54 And one more fix to flaky tests (#5467)
* imporoved intervallier version

* remove extra event

* use version 0.3.1

* fix warning
2020-03-31 12:15:31 +02:00
Cecile Tonglet 439887a773 Allow changing the behavior for imported blocks (#5236)
* Added option to disable default block announce

* Added on_block_imported on NetworkService

* Revert "Added on_block_imported on NetworkService"

This reverts commit ba360cad96e0cb041d7047af30df2a35eb112449.

* Do not announce block if set to not announce block

* Revert fix

* Moving default announce block to NetworkConfig

* WIP

Forked at: ad90ab7ec9
Parent branch: origin/master

* WIP

Forked at: ad90ab7ec9
Parent branch: origin/master

* Removing boolean in favor of explicit call

* Fixing tests

* WIP

Forked at: ad90ab7ec9
Parent branch: origin/master

* WIP

Forked at: ad90ab7ec9
Parent branch: origin/master

* increase spec_version

* increase spec_version

* Fixed test

* Fixing test

* Renamed should_announce_imported_blocks to announce_imported_blocks

* Updated assert_cmd
2020-03-31 11:02:16 +02:00
gabriel klawitter b8eb094c7f Ci check companion (#5419)
* add post-build-test stage

* check status

* fix busybox shell

* renaming for consistency
2020-03-31 10:55:12 +02:00
yanganto 77b9771bfd Show network id/version in subkey (#5457)
* Show network id/version in subkey

- show network id/version when creating
- show network id/version when inspecting

* Update bin/utils/subkey/src/main.rs

use `unwrap_or_default` for more clean syntax

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-03-31 00:13:39 +02:00
Stanislav Tkach 0bc0d4bebb Change the difficulty parameter of PowAlgorithm::difficulty function to Hash (#5417) 2020-03-30 16:08:41 +02:00
Max Inden c3c8552aaa src/service/src/builder: Fix memory metric exposed in bytes not KiB (#5459)
The library `sysinfo` exposes process memory as kibibytes and not bytes,
thus the value needs to be multiplied by 1024 to comply with the metric
name and the Prometheus base units [1].

[1] https://prometheus.io/docs/practices/naming/#base-units
2020-03-30 15:48:59 +02:00
Nikolay Volf d82a2bf454 pub instead of remove (#5451) 2020-03-30 13:36:24 +02:00
Pierre Krieger dbba4f8929 Fix tried to send handshake twice (#5413)
* Fix tried to send handshake twice

* Fix wrong boolean

* Change to debug
2020-03-30 13:33:46 +02:00