1. Apr 15, 2020
  2. Apr 14, 2020
  3. Apr 13, 2020
  4. Apr 04, 2020
    • Benjamin Kampmann's avatar
      Additional Metrics collected and exposed via prometheus (#5414) · 8991aab9
      Benjamin Kampmann authored
      
      
      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: default avatarMax Inden <[email protected]>
      Co-authored-by: default avatarAshley <[email protected]>
      8991aab9
  5. Mar 30, 2020
  6. Mar 29, 2020
  7. Mar 27, 2020
  8. Mar 24, 2020
  9. Mar 19, 2020
    • Benjamin Kampmann's avatar
      Update dependencies (#5316) · c50faf23
      Benjamin Kampmann authored
      * switching to released wasmtime
      
      * update depdencies in general
      
      * Update fdlimit
      
      * Update parity common deps
      
      * Also update schnorrkel
      
      * update kvdb-rocksdb
      
      * update further dependents
      
      * also update primitive types
      
      * update cargo.lock
      
      * update merlin
      
      * Bumping evm version
      c50faf23
  10. Mar 18, 2020
  11. Mar 16, 2020
  12. Feb 27, 2020
    • Benjamin Kampmann's avatar
      prepping for Alpha.3 (#5080) · 013c1ee1
      Benjamin Kampmann authored
      * Bump to alpha.3
      
      * update gitlab-ci
      v2.0.0-alpha.3
      013c1ee1
    • Max Inden's avatar
      *: Rename prometheus-exporter crate to substrate-prometheus-end… (#5076) · e769ac4a
      Max Inden authored
      This patch renames the crate for the following two reasons:
      
      1. The prometheus-exporter crate introduces native in-process Prometheus
      style instrumentation to the Substrate project. Within the Prometheus
      ecosystem the term "exporter" is used for external processes exposing
      metrics for e.g. the Linux Kernel. In-process exposition would be
      described via the term "endpoint".
      
      2. "prometheus-exporter" is generic and ignores the fact that it is only
      usable within the context of Substrate. In addition the name
      "prometheus-exporter" is already taken on crates.io.
      e769ac4a
  13. Feb 26, 2020
  14. Feb 25, 2020
  15. Feb 21, 2020
    • Benjamin Kampmann's avatar
      Cargo.toml fixups for the release (#4975) · 2406f796
      Benjamin Kampmann authored
      * setting versions to development pre-release
      
      fixing version in dependencies
      
      * unset already released wasm-builder
      
      * do not publish test crates
      
      * adding licenses
      
      * setting homepage metadata
      
      * set repository url
      2406f796
  16. Feb 19, 2020
    • Max Inden's avatar
      Introduce Prometheus metric endpoint replacing Grafana endpoint (#4981) · ebd42434
      Max Inden authored
      
      
      * Refactor rebase master prometheus_v0.3
      
      * Milestone1: Final Version of v0.3
      
      * no-std or warm compatibility issues, grapana-data -source code reference and correction,applicable
      
      * Cargo.lock paritytech/master rebase
      
      * prometheus networking.rs del, grafana-data-source networking.rs pub edit and note
      
      * chore: reflect various feedback
      
      * Spaces to tabs.
      
      * Replace grafana and tidy
      
      * Add generics
      
      * Add photo back
      
      * Re-fix spaces in primitives/consensus/babe/src/inherents.rs
      
      * Refactor rebase master prometheus_v0.3
      
      * Milestone1: Final Version of v0.3
      
      * no-std or warm compatibility issues, grapana-data -source code reference and correction,applicable
      
      * prometheus networking.rs del, grafana-data-source networking.rs pub edit and note
      
      * chore: reflect various feedback
      
      * Replace grafana and tidy
      
      * Add generics
      
      * Add photo back
      
      * Re-fix spaces in primitives/consensus/babe/src/inherents.rs
      
      * chore: revert this file back to paritytech/master inherents.rs.
      
      * Add newline at EOF
      
      * Tidy
      
      * Use local registry
      
      * fix typo
      
      Co-Authored-By: default avatarMax Inden <[email protected]>
      
      * chore:  Apply review feedback
      
      * endpoint -> exporter
      
      * fix readme
      
      * Remove lazy_static, use ServiceMetrics struct instead
      
      * Switch to using GaugeVecs
      
      * chore: without nightly , edit README
      
      * block_height -> block_height_number
      
      * Switch to a ready_transactions_number gauge
      
      * Update utils/prometheus/src/lib.rs
      
      Co-Authored-By: default avatarMax Inden <[email protected]>
      
      * no-prometheus flag add
      
      * /metrics url Input check
      
      * remove prometheus in Tracing
      
      * remove prometheus in Tracing
      
      * chore: master code rebase edit
      
      * gitlab-check-web-wasm edit code
      
      * From:from and cargo.lock update
      
      * with_prometheus_registry add background_tasks
      
      * utils/prometheus/src/lib.rs: Restructure #[cfg] for wasm without hyper
      
      Given that Hyper is not compatible with WASM targets it needs to be
      excluded from WASM builds. Instead of introducing #[cfg] lines
      throughout the crate, this patch splits the crate into two: known_os and
      unknown_os (WASM).
      
      * utils/prometheus/src/lib.rs: Feature gate known_os module
      
      * client/cli/src/lib.rs: Re-add newline at end of file
      
      Co-authored-by: default avatarJeseonLEE <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarAshley <[email protected]>
      Co-authored-by: default avatarHyungsuk Kang <[email protected]>
      ebd42434
  17. Feb 10, 2020
    • Ashley's avatar
      Fix timer panics in the wasm light client (#4561) · ae03ee91
      Ashley authored
      * Make WASM browser thing compile
      
      * Fix
      
      * updated exit-future (github repo)
      
      * Switch to broadcast crate
      
      * Migrate client/cli
      
      * Switch exit-future to modernize branch
      
      * Small changes
      
      * Switch to cargo version and fix fg tests
      
      * fix basic-authorship
      
      * Fix crash on grafana macro
      
      * Fix grafana macro
      
      * Switch node python version
      
      * Disable record_metrics_slice in grafana macro on wasm
      
      * Update client/grafana-data-source/src/lib.rs
      
      * Revert "Update client/grafana-data-source/src/lib.rs"
      
      This reverts commit 888009a8.
      
      * Add wasm support for state machine
      
      * Switch to my own libp2p version
      
      * Revert "Switch to my own libp2p version"
      
      This reverts commit ce613871.
      
      * Revert "Add wasm support for state machine"
      
      This reverts commit de7eaa06
      
      .
      
      * Add sc-browser
      
      * Squash
      
      * remove sc-browser
      
      * Fix keystore on wasm
      
      * stubs for removed functions to make env compatible with old runtimes
      
      * Add test (that doesn't work)
      
      * Fix build scripts
      
      * Revert basic-authorship due to no panics
      
      * Revert cli/informant
      
      * Revert consensus
      
      * revert offchain
      
      * Update utils/browser/Cargo.toml
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * export console functions
      
      * Add new chainspec
      
      * Fix ws in chain spec
      
      * revert chainspec
      
      * Fix chainspec
      
      * Use an Option<PathBuf> in keystore instead of cfg flags
      
      * Remove crud
      
      * Only use wasm-timer for instant and systemtime
      
      * Remove telemetry changes
      
      * Assuming this is ok
      
      * Add a KeystoreConfig
      
      * Add stubs back in
      
      * Update libp2p
      
      * Revert "Add stubs back in"
      
      This reverts commit 4690cf18.
      
      * Remove commented js again
      
      * Bump kvdb-web version
      
      * Fix cli
      
      * Switch branch on futures-timer
      
      * Fix tests
      
      * Remove sc-client test build in check-web-wasm because there isn't a good way to build futures-timer with wasm-bindgen support in the build
      
      * Remove more things ^^
      
      * Switch branch on futures-timer back
      
      * Put DB io stats behind a cfg flag
      
      * Fix things
      
      * Don't timeout transports on wasm
      
      * Update branch of futures-timer and fix bad merge
      
      * Spawn informant
      
      * Fix network test
      
      * Fix delay resets
      
      * Changes
      
      * Fix tests
      
      * use wasm_timer for transaction pool
      
      * Fixes
      
      * Switch futures-timer to crates
      
      * Only diagnose futures on native
      
      * Fix sc-network-test tests
      
      * Select log level in js
      
      * Fix syncing ;^)
      
      * Allow disabling colours in the informant
      
      * Use OutputFormat enum for informant
      
      * MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master
      
      * Update futures-diagnose
      
      * Revert "MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master"
      
      This reverts commit baa4ffc9
      
      .
      
      * Pass whole chain spec in start_client
      
      * Get Instant::now to work in transaction pool again
      
      * Informant dep reordering
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarDemi Obenour <[email protected]>
      ae03ee91
  18. Feb 07, 2020
    • Nikolay Volf's avatar
      Subsystems memory tracking: 1. Transaction pool (#4822) · 65763cdb
      Nikolay Volf authored
      
      
      * update sp-runtime
      
      * total update
      
      * usage informant
      
      * update to crates.io version
      
      * update Cargo.lock
      
      * update dummy update
      
      * fix todo
      
      * cleanup
      
      * avoid custom impl
      
      * Update client/transaction-pool/graph/src/future.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * remove another custom impl
      
      * remove another custom impl
      
      * add kb in report
      
      * update Cargo.lock
      
      * review suggestions
      
      * --amend
      
      * --amend
      
      * bump parity-util-mem to 0.5.0
      
      * bumps
      
      * update macro and versions
      
      * add to grafana
      
      * naming
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      65763cdb
  19. Jan 30, 2020
    • Cecile Tonglet's avatar
      CLI API refactoring and improvement (#4692) · 26e37ff6
      Cecile Tonglet authored
      It changes the way we extended the CLI functionalities of substrate to allow more flexibility. (If this was not clear, here is another version: it changes the `sc_cli` API to allow more flexibility).
      
      This touches a few important things:
       - the startup of the async task with tokei:
          This was in node and node-template and I moved it to substrate. The idea is to have 1 time the code that handles unix signals (SIGTERM and SIGINT) properly. It is however possible to make this more generic to wait for a future instead and provide only a helper for the basic handling of SIGTERM and SIGINT.
       - increased the version of structopt and tokei
       - no more use of structopt internal's API
       - less use of generics
      
      Related to #4643 and https://github.com/paritytech/cumulus/pull/42: the implementation of "into_configuration" and "get_config" are similar but with better flexibility so it is now possible in cumulus to have the command-line arguments only of the run command for polkadot if we want
      
      Related to https://github.com/paritytech/cumulus/issues/24 and https://github.com/paritytech/cumulus/issues/34 : it will now be possible to make a configuration struct for polkadot with some overrides of the default parameters much more easily.
      26e37ff6
  20. Jan 29, 2020
  21. Jan 15, 2020
  22. Jan 14, 2020
    • Ashley's avatar
      Update the service to std futures (#4447) · 410ce114
      Ashley authored
      * Switch service to futures03
      
      * Fix tests
      
      * Fix service test and cli
      
      * Re-add Executor trait to SpawnTaskHandle
      
      * Fix node-service
      
      * Update babe
      
      * Fix browser node
      
      * Update aura
      
      * Revert back to tokio-executor to fix runtime panic
      
      * Add todo item
      
      * Fix service tests again
      
      * Timeout test futures
      
      * Fix tests
      
      * nits
      
      * Fix service test
      
      * Remove zstd patch
      
      * Re-add futures01 to aura and babe tests as a dev-dep
      
      * Change failing test to tee
      
      * Fix node
      
      * Upgrade tokio
      
      * fix society
      
      * Start switching grandpa to stable futures
      
      * Revert "Start switching grandpa to stable futures"
      
      This reverts commit 9c197634
      
      .
      
      * Fix utils
      
      * Revert substrate service test
      
      * Revert gitlab
      
      Co-authored-by: default avatarthiolliere <[email protected]>
      410ce114
  23. Dec 28, 2019
    • Bastian Köcher's avatar
      Fix cli for structopt 0.3.7 and pin to that version (#4509) · 43ee8a35
      Bastian Köcher authored
      * Fix cli for structopt 0.3.7 and pin to that version
      
      This is just some hotfix to make everything compile. In the future it
      will require another pr to not depend on internals of StructOpt, but
      that will probably also require some additions to StructOpt itself. To
      not break the code again with another StructOpt, this also pins the
      StructOpt version.
      
      * Fix benches
      
      * Fix for fix
      43ee8a35
  24. Dec 20, 2019
  25. Dec 17, 2019
    • Benjamin Kampmann's avatar
      Setting versions locally towards 2.0 release (#4404) · 8db51949
      Benjamin Kampmann authored
      * clean up cargo.toml syntax
      
      * bumping versions to 2.0
      
      * bump networking to 0.8
      
      * move consensus down to 0.8
      
      * bump consensus pallets to 0.8.0, too
      
      * Upping babe and aura pallets
      
      * add remaining, missing version definitions
      
      * missed some
      8db51949
  26. Dec 16, 2019
    • Tomasz Drwięga's avatar
      [big refactor] Remove crate aliasing. (#4395) · 40a16efe
      Tomasz Drwięga authored
      * Rename: Phase 1.
      
      * Unify codec.
      
      * Fixing: Phase 2
      
      * Fixing: Phase 3.
      
      * Fixing: Phase 4.
      
      * Fixing: Phase 5.
      
      * Fixing: Phase 6.
      
      * Fixing: Phase 7.
      
      * Fixing: Phase 8. Tests
      
      * Fixing: Phase 9. Tests!!!
      
      * Fixing: Phase 10. Moar tests!
      
      * Finally done!
      
      * More fixes.
      
      * Rename primitives:: to sp_core::
      
      * Apply renames in finality-grandpa.
      
      * Fix benches.
      
      * Fix benches 2.
      
      * Revert node-template.
      
      * Fix frame-system in our modules.
      40a16efe
  27. Dec 09, 2019
  28. Dec 04, 2019
  29. Dec 02, 2019
    • Benjamin Kampmann's avatar
      The crate rename (#4223) · 28c329e0
      Benjamin Kampmann authored
      * Adding script for rename, could be applicable for nodes on top of it, too
      
      * add stderr and gitlab ci features
      
      * apply script
      
      * fix now minor details in expected stderr
      
      * Update the Cargo.lock
      
      * fix name: sc-transaction -> sc-tracing
      
      * fix rename in script, too
      28c329e0
  30. Nov 28, 2019
  31. Nov 26, 2019
    • Benjamin Kampmann's avatar
      Remove all (non-dev) `client` references from `frame`, activate dependency enforcer (#4184) · b3a7c8e4
      Benjamin Kampmann authored
      * Move transaction pool to primitives
      
      * move backend, errors into primitives
      
      * remove unused client depencies
      
      * Move rpc-api into primitives
      
      * Move peerset back to client
      
      * Move rpc/api back to client, move palette/support/rpc into utils
      
      * move support-rpc into subfolder
      
      * move system-rpc into utils
      
      * move transaction-pool  and -graph back into client
      
      * fix broken imports
      
      * Clean up test primitives
      
      * Make support test utils independent of frame
      
      * remove unnecessary node dependencies from service
      
      * Reactivate dependency script:
       - only enforce the now achieved status quo will remain
       - allow for primitives to depend on /client for now without failing
       - more discriptive error message so people understand, what it wants
       - minor fix to differentiative between ../client and /client (which may be a subfolder)
       - don't allow this to fail anylonger.
      
      * fix doc comment
      
      * 'Should not' rather than 'must not'.
      
      * Revert unwanted dependency changes
      
      * fix faulty import
      
      * fixup derive_more version
      
      * fix wrong import path
      b3a7c8e4
    • Qinxuan Chen's avatar
      Update some dependencies: (#4207) · 3f519863
      Qinxuan Chen authored
      
      
      - derive_more 0.15 -> 0.99
      - strum 0.15 -> 0.16
      - slog_derive 0.1 -> 0.2
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      3f519863
  32. Nov 22, 2019
    • mattrutherford's avatar
      Add instrumentation, with performance profiling capability (#4132) · 3402cc88
      mattrutherford authored
      * Implement instrumentation for performance profiling
      
      * Add profiling to runtime functions declared in `decl_module` inc.
      `on_initialize` and `on_finalize`
      
      * Remove changes
      
      * add docs, tidy up
      
      * fix versions
      
      * fix copyright date
      
      * switch to hashmap and instant
      
      * update example
      
      * update example
      
      * implement receiver for logger and make default
      
      * fix comment
      
      * use `if_std!` macro
      
      * remove whitespace
      
      * fix whitespace
      
      * fix nits
      3402cc88
    • Ashley's avatar
      Upgrade from futures-preview to futures 0.3.1, and remove futures 0.1 where... · aee12ee6
      Ashley authored
      Upgrade from futures-preview to futures 0.3.1, and remove futures 0.1 where currently possible (#4083)
      
      * Migrate node and node-template
      
      * Migrate srml
      
      * Simple changes
      
      * Add async-std for interval
      
      * Fix test-runtime warning
      
      * Small changes
      
      * move futures01 in core/rpc to dev-deps
      
      * Change wasm CI builds
      
      * Switch to async-std 1.0.1
      
      * Remove async-std dep of network
      
      * Add modified lockfile
      
      * Fix node cli browser build
      
      * Remove authority-discovery async-std dep
      
      * Add Send + Sync to interval dyn stream
      aee12ee6
  33. Nov 14, 2019
    • Benjamin Kampmann's avatar
      Reorganising the repository - external renames and moves (#4074) · f44873dc
      Benjamin Kampmann authored
      * Adding first rough ouline of the repository structure
      
      * Remove old CI stuff
      
      * add title
      
      * formatting fixes
      
      * move node-exits job's script to scripts dir
      
      * Move docs into subdir
      
      * move to bin
      
      * move maintainence scripts, configs and helpers into its own dir
      
      * add .local to ignore
      
      * move core->client
      
      * start up 'test' area
      
      * move test client
      
      * move test runtime
      
      * make test move compile
      
      * Add dependencies rule enforcement.
      
      * Fix indexing.
      
      * Update docs to reflect latest changes
      
      * Moving /srml->/paint
      
      * update docs
      
      * move client/sr-* -> primitives/
      
      * clean old readme
      
      * remove old broken code in rhd
      
      * update lock
      
      * Step 1.
      
      * starting to untangle client
      
      * Fix after merge.
      
      * start splitting out client interfaces
      
      * move children and blockchain interfaces
      
      * Move trie and state-machine to primitives.
      
      * Fix WASM builds.
      
      * fixing broken imports
      
      * more interface moves
      
      * move backend and light to interfaces
      
      * move CallExecutor
      
      * move cli off client
      
      * moving around more interfaces
      
      * re-add consensus crates into the mix
      
      * fix subkey path
      
      * relieve client from executor
      
      * starting to pull out client from grandpa
      
      * move is_decendent_of out of client
      
      * grandpa still depends on client directly
      
      * lemme tests pass
      
      * rename srml->paint
      
      * Make it compile.
      
      * rename interfaces->client-api
      
      * Move keyring to primitives.
      
      * fixup libp2p dep
      
      * fix broken use
      
      * allow dependency enforcement to fail
      
      * move fork-tree
      
      * Moving wasm-builder
      
      * make env
      
      * move build-script-utils
      
      * fixup broken crate depdencies and names
      
      * fix imports for authority discovery
      
      * fix typo
      
      * update cargo.lock
      
      * fixing imports
      
      * Fix paths and add missing crates
      
      * re-add missing crates
      f44873dc
  34. Nov 01, 2019
    • Jim Posen's avatar
      Integrate Wasmtime for runtime execution (#3869) · c2975363
      Jim Posen authored
      * executor: Use non wasmi-specific execution in tests.
      
      * executor: Move all runtime execution tests into tests file.
      
      * executor: Use test_case macro to easily execute tests with different
      Wasm execution methods.
      
      * executor: Convert errors to strings with Display, not Debug.
      
      * node-executor: Rewrite benchmarks with criterion.
      
      They were not passing compilation before and criterion seems to be more
      widely used in Substrate.
      
      * executor: Begin implementation of Wasm runtime.
      
      The implementation demonstrates the outline of the execution, but does
      not link against the external host functions.
      
      * executor: Define and implement basic FunctionExecutor.
      
      The SandboxCapabilities::invoke is still left unimplemented.
      
      * executor: Implement host function trampoline generation.
      
      * executor: Instantiate and link runtime module to env module.
      
      * executor: Provide input data during wasmtime execution.
      
      * executor: Implement SandboxCapabilites::invoke for wasmtime executor.
      
      * executor: Integrate and test wasmtime execution method.
      
      * executor: Improve FunctionExecution error messages.
      
      * Scope the unsafe blocks to be smaller.
      
      * Rename TrampolineState to EnvState.
      
      * Let EnvState own its own compiler instead of unsafe lifetime cast.
      
      * Refactor out some common wasmi/wasmtime logic.
      
      * Typos and cosmetic changes.
      
      * More trampoline comments.
      
      * Cargo.lock update.
      
      * cli: CLI option for running Substrate with compiled Wasm execution.
      
      * executor: Switch dependency from fork to official wasmtime repo.
      
      * Quiet down cranelift logs.
      
      * Explicitly catch panics during host calls.
      
      We do this to ensure that panics do not cross language boundaries.
      
      * Additional checks and clarifications in make_trampoline.
      
      * Fixes after merge from master and panic safety for wasmtime
      instantiation.
      c2975363
  35. Oct 31, 2019
    • Pierre Krieger's avatar
      Add the code for compiling node-cli for WASM-browser (#3974) · afc63040
      Pierre Krieger authored
      
      
      * Extract CLI to separate module in node/cli
      
      * Make node/cli compile for WASM
      
      * More work on node/cli browser
      
      * More work on browser node
      
      * More work
      
      * More work
      
      * Purge a bit the CI script
      
      * More clean up
      
      * Remove substrate-finality-grandpa from the CI
      
      Its tests use tokio, which fails to compile.
      
      * Address review
      
      * Add rocksdb feature to the service
      
      * Fix substrate-service WASM CI
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Don't WASM-compile substrate-service altogether
      afc63040
  36. Oct 12, 2019
  37. Oct 09, 2019