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>
This commit is contained in:
Benjamin Kampmann
2020-04-04 15:13:35 +02:00
committed by GitHub
parent 6847f8452e
commit 247822bb33
60 changed files with 1344 additions and 526 deletions
+9
View File
@@ -36,6 +36,7 @@ target_info = "0.1.0"
sc-keystore = { version = "2.0.0-alpha.5", path = "../keystore" }
sp-io = { version = "2.0.0-alpha.5", path = "../../primitives/io" }
sp-runtime = { version = "2.0.0-alpha.5", path = "../../primitives/runtime" }
sp-utils = { version = "2.0.0-alpha.5", path = "../../primitives/utils" }
sp-blockchain = { version = "2.0.0-alpha.5", path = "../../primitives/blockchain" }
sp-core = { version = "2.0.0-alpha.5", path = "../../primitives/core" }
sp-session = { version = "2.0.0-alpha.5", path = "../../primitives/session" }
@@ -61,6 +62,14 @@ sc-tracing = { version = "2.0.0-alpha.5", path = "../tracing" }
tracing = "0.1.10"
parity-util-mem = { version = "0.6.0", default-features = false, features = ["primitive-types"] }
[target.'cfg(unix)'.dependencies]
procfs = '0.7.8'
netstat2 = "0.8.1"
[target.'cfg(windows)'.dependencies]
netstat2 = "0.8.1"
[dev-dependencies]
substrate-test-runtime-client = { version = "2.0.0-dev", path = "../../test-utils/runtime/client" }
sp-consensus-babe = { version = "0.8.0-alpha.5", path = "../../primitives/consensus/babe" }