Files
pezkuwi-subxt/substrate/bin/node/cli/Cargo.toml
T
Cecile Tonglet 27274c42cf Fix telemetry span not entering properly attempt 3 (#8043)
* Fix tracing tests (#8022)

* Fix tracing tests

The tests were not working properly.

1. Some test was setting a global subscriber, this could lead to racy
conditions with other tests.

2. A logging test called `process::exit` which is completly wrong.

* Update client/tracing/src/lib.rs

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

* Review comments

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

* Fix tracing spans are not being forwarded to spawned task (#8009)

* Fix tracing spans are not being forwarded to spawned task

There is a bug that tracing spans are not forwarded to spawned task. The
problem was that only the telemetry span was forwarded. The solution to
this is to use the tracing provided `in_current_span` to capture the
current active span and pass the telemetry span explictely. We will now
always enter the span when the future is polled. This is essentially the
same strategy as tracing is doing with its `Instrumented`, but now
extended for our use case with having multiple spans active.

* More tests

* Proper test for telemetry and prefix span

* WIP

* Fix test (need to create & enter the span at the same time)

* WIP

* Remove telemtry_span from sc_service config

* CLEANUP

* Update comment

* Incorrect indent

* More meaningful name

* Dedent

* Naming XD

* Attempt to make a more complete test

* lint

* Missing licenses

* Remove user data

* CLEANUP

* Apply suggestions from code review

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

* CLEANUP

* Apply suggestion

* Update bin/node/cli/tests/telemetry.rs

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

* Wrapping lines

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: David <dvdplm@gmail.com>
2021-02-17 07:44:25 +00:00

165 lines
7.5 KiB
TOML

[package]
name = "node-cli"
version = "2.0.0"
authors = ["Parity Technologies <admin@parity.io>"]
description = "Generic Substrate node implementation in Rust."
build = "build.rs"
edition = "2018"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
default-run = "substrate"
homepage = "https://substrate.dev"
repository = "https://github.com/paritytech/substrate/"
[package.metadata.wasm-pack.profile.release]
# `wasm-opt` has some problems on linux, see
# https://github.com/rustwasm/wasm-pack/issues/781 etc.
wasm-opt = false
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[badges]
travis-ci = { repository = "paritytech/substrate" }
maintenance = { status = "actively-developed" }
is-it-maintained-issue-resolution = { repository = "paritytech/substrate" }
is-it-maintained-open-issues = { repository = "paritytech/substrate" }
[[bin]]
name = "substrate"
path = "bin/main.rs"
required-features = ["cli"]
[lib]
crate-type = ["cdylib", "rlib"]
[dependencies]
# third-party dependencies
codec = { package = "parity-scale-codec", version = "2.0.0" }
serde = { version = "1.0.102", features = ["derive"] }
futures = { version = "0.3.9", features = ["compat"] }
hex-literal = "0.3.1"
log = "0.4.8"
rand = "0.7.2"
structopt = { version = "0.3.8", optional = true }
parking_lot = "0.11.1"
# primitives
sp-authority-discovery = { version = "3.0.0", path = "../../../primitives/authority-discovery" }
sp-consensus-babe = { version = "0.9.0", path = "../../../primitives/consensus/babe" }
grandpa-primitives = { version = "3.0.0", package = "sp-finality-grandpa", path = "../../../primitives/finality-grandpa" }
sp-core = { version = "3.0.0", path = "../../../primitives/core" }
sp-runtime = { version = "3.0.0", path = "../../../primitives/runtime" }
sp-timestamp = { version = "3.0.0", default-features = false, path = "../../../primitives/timestamp" }
sp-inherents = { version = "3.0.0", path = "../../../primitives/inherents" }
sp-keyring = { version = "3.0.0", path = "../../../primitives/keyring" }
sp-keystore = { version = "0.9.0", path = "../../../primitives/keystore" }
sp-io = { version = "3.0.0", path = "../../../primitives/io" }
sp-consensus = { version = "0.9.0", path = "../../../primitives/consensus/common" }
sp-transaction-pool = { version = "3.0.0", path = "../../../primitives/transaction-pool" }
# client dependencies
sc-client-api = { version = "3.0.0", path = "../../../client/api" }
sc-chain-spec = { version = "3.0.0", path = "../../../client/chain-spec" }
sc-consensus = { version = "0.9.0", path = "../../../client/consensus/common" }
sc-transaction-pool = { version = "3.0.0", path = "../../../client/transaction-pool" }
sc-network = { version = "0.9.0", path = "../../../client/network" }
sc-consensus-slots = { version = "0.9.0", path = "../../../client/consensus/slots" }
sc-consensus-babe = { version = "0.9.0", path = "../../../client/consensus/babe" }
grandpa = { version = "0.9.0", package = "sc-finality-grandpa", path = "../../../client/finality-grandpa" }
sc-client-db = { version = "0.9.0", default-features = false, path = "../../../client/db" }
sc-offchain = { version = "3.0.0", path = "../../../client/offchain" }
sc-rpc = { version = "3.0.0", path = "../../../client/rpc" }
sc-basic-authorship = { version = "0.9.0", path = "../../../client/basic-authorship" }
sc-service = { version = "0.9.0", default-features = false, path = "../../../client/service" }
sc-tracing = { version = "3.0.0", path = "../../../client/tracing" }
sc-telemetry = { version = "3.0.0", path = "../../../client/telemetry" }
sc-authority-discovery = { version = "0.9.0", path = "../../../client/authority-discovery" }
sc-finality-grandpa-warp-sync = { version = "0.9.0", path = "../../../client/finality-grandpa-warp-sync", optional = true }
# frame dependencies
pallet-indices = { version = "3.0.0", path = "../../../frame/indices" }
pallet-timestamp = { version = "3.0.0", default-features = false, path = "../../../frame/timestamp" }
pallet-contracts = { version = "2.0.0", path = "../../../frame/contracts" }
frame-system = { version = "3.0.0", path = "../../../frame/system" }
pallet-balances = { version = "3.0.0", path = "../../../frame/balances" }
pallet-transaction-payment = { version = "3.0.0", path = "../../../frame/transaction-payment" }
frame-support = { version = "3.0.0", default-features = false, path = "../../../frame/support" }
pallet-im-online = { version = "3.0.0", default-features = false, path = "../../../frame/im-online" }
pallet-authority-discovery = { version = "3.0.0", path = "../../../frame/authority-discovery" }
pallet-staking = { version = "3.0.0", path = "../../../frame/staking" }
pallet-grandpa = { version = "3.0.0", path = "../../../frame/grandpa" }
# node-specific dependencies
node-runtime = { version = "2.0.0", path = "../runtime" }
node-rpc = { version = "2.0.0", path = "../rpc" }
node-primitives = { version = "2.0.0", path = "../primitives" }
node-executor = { version = "2.0.0", path = "../executor" }
# CLI-specific dependencies
sc-cli = { version = "0.9.0", optional = true, path = "../../../client/cli" }
frame-benchmarking-cli = { version = "3.0.0", optional = true, path = "../../../utils/frame/benchmarking-cli" }
node-inspect = { version = "0.8.0", optional = true, path = "../inspect" }
# WASM-specific dependencies
wasm-bindgen = { version = "0.2.57", optional = true }
wasm-bindgen-futures = { version = "0.4.18", optional = true }
browser-utils = { package = "substrate-browser-utils", path = "../../../utils/browser", optional = true, version = "0.9.0"}
[target.'cfg(target_arch="x86_64")'.dependencies]
node-executor = { version = "2.0.0", path = "../executor", features = [ "wasmtime" ] }
sc-cli = { version = "0.9.0", optional = true, path = "../../../client/cli", features = [ "wasmtime" ] }
sc-service = { version = "0.9.0", default-features = false, path = "../../../client/service", features = [ "wasmtime" ] }
sp-trie = { version = "3.0.0", default-features = false, path = "../../../primitives/trie", features = ["memory-tracker"] }
[dev-dependencies]
sc-keystore = { version = "3.0.0", path = "../../../client/keystore" }
sc-consensus = { version = "0.9.0", path = "../../../client/consensus/common" }
sc-consensus-babe = { version = "0.9.0", features = ["test-helpers"], path = "../../../client/consensus/babe" }
sc-consensus-epochs = { version = "0.9.0", path = "../../../client/consensus/epochs" }
sc-service-test = { version = "2.0.0", path = "../../../client/service/test" }
futures = "0.3.9"
tempfile = "3.1.0"
assert_cmd = "1.0"
nix = "0.19"
serde_json = "1.0"
regex = "1"
platforms = "1.1"
async-std = { version = "1.6.5", features = ["attributes"] }
soketto = "0.4.2"
[build-dependencies]
structopt = { version = "0.3.8", optional = true }
node-inspect = { version = "0.8.0", optional = true, path = "../inspect" }
frame-benchmarking-cli = { version = "3.0.0", optional = true, path = "../../../utils/frame/benchmarking-cli" }
substrate-build-script-utils = { version = "3.0.0", optional = true, path = "../../../utils/build-script-utils" }
substrate-frame-cli = { version = "3.0.0", optional = true, path = "../../../utils/frame/frame-utilities-cli" }
[build-dependencies.sc-cli]
version = "0.9.0"
package = "sc-cli"
path = "../../../client/cli"
optional = true
[features]
default = [ "cli" ]
browser = [
"browser-utils",
"wasm-bindgen",
"wasm-bindgen-futures",
]
cli = [
"node-executor/wasmi-errno",
"node-inspect",
"sc-cli",
"frame-benchmarking-cli",
"substrate-frame-cli",
"sc-service/db",
"sc-finality-grandpa-warp-sync",
"structopt",
"substrate-build-script-utils",
]
runtime-benchmarks = [
"node-runtime/runtime-benchmarks",
"frame-benchmarking-cli",
]