Files
pezkuwi-subxt/substrate/client/telemetry
Dmitry Markin 5eb84f9cc6 Upgrade tokio to 1.22.0 and replace async-std with tokio (#12646)
* Replace deprecated libp2p feature specs with correct ones

* Bump tokio to 1.21.2

* Replace async-std libp2p primitives with tokio ones

* minor: rustfmt

* Fix TestNet to run initialization in the tokio context

* Convert telemetry test from async-std to tokio

* Convert notifications tests from async-std to tokio

* Convert chain sync tests from async-std to tokio

* Ditch async-std completely

* Make executor mandatory

* Bump tokio to 1.22.0

* minor: rustfmt

* Explicitly use tokio runtime in tests

* Move more tests to explicit tokio runtime

* Explicitly set multithreaded runtime in tokio test

* minor: rustfmt

* minor: fix comment

* Replace async-std with tokio in MMR tests
2022-12-05 08:18:46 +00:00
..

sc-telemetry

Substrate's client telemetry is a part of substrate that allows ingesting telemetry data with for example Polkadot telemetry.

It works using Tokio's tracing library. The telemetry information uses tracing's logging to report the telemetry data which is then retrieved by a tracing Layer. This layer will then send the data through an asynchronous channel to a background task called [TelemetryWorker] which will send the information to the configured remote telemetry servers.

If multiple substrate nodes are running in the same process, it uses a tracing::Span to identify which substrate node is reporting the telemetry. Every task spawned using sc-service's TaskManager automatically inherit this span.

Substrate's nodes initialize/register with the [TelemetryWorker] using a [TelemetryHandle]. This handle can be cloned and passed around. It uses an asynchronous channel to communicate with the running [TelemetryWorker] dedicated to registration. Registering can happen at any point in time during the process execution.

License: GPL-3.0-or-later WITH Classpath-exception-2.0