43 releases (22 major breaking)

25.0.0 Sep 26, 2024
24.0.0 Jul 18, 2024
22.0.0 Jul 12, 2024
21.0.0 Jun 24, 2024
2.0.0-alpha.5 Mar 24, 2020

#52 in #telemetry

Download history 2668/week @ 2024-07-29 2607/week @ 2024-08-05 3704/week @ 2024-08-12 3450/week @ 2024-08-19 2932/week @ 2024-08-26 2231/week @ 2024-09-02 2992/week @ 2024-09-09 3089/week @ 2024-09-16 4022/week @ 2024-09-23 4321/week @ 2024-09-30 2460/week @ 2024-10-07 3314/week @ 2024-10-14 4642/week @ 2024-10-21 3859/week @ 2024-10-28 3269/week @ 2024-11-04 2318/week @ 2024-11-11

14,322 downloads per month
Used in 117 crates (23 directly)

GPL-3.0-or-later…

1MB
25K SLoC

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

Release

Polkadot SDK stable2409

Dependencies

~79–120MB
~2M SLoC