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
@@ -24,10 +24,7 @@ use crate::base_pool as base;
use crate::watcher::Watcher;
use serde::Serialize;
use futures::{
Future, FutureExt,
channel::mpsc,
};
use futures::{Future, FutureExt};
use sp_runtime::{
generic::BlockId,
traits::{self, SaturatedConversion},
@@ -37,12 +34,13 @@ use sp_runtime::{
};
use sp_transaction_pool::error;
use wasm_timer::Instant;
use sp_utils::mpsc::TracingUnboundedReceiver;
use crate::validated_pool::ValidatedPool;
pub use crate::validated_pool::ValidatedTransaction;
/// Modification notification event stream type;
pub type EventStream<H> = mpsc::UnboundedReceiver<H>;
pub type EventStream<H> = TracingUnboundedReceiver<H>;
/// Extrinsic hash type for a pool.
pub type ExHash<A> = <A as ChainApi>::Hash;