Crate sc_telemetry[−][src]
Telemetry utilities.
Calling init_telemetry registers a global slog logger using slog_scope::set_global_logger.
After that, calling slog_scope::with_logger will return a logger that sends information to
the telemetry endpoints. The telemetry! macro is a short-cut for calling
slog_scope::with_logger followed with slog_log!.
Note that you are supposed to only ever use telemetry! and not slog_scope::with_logger at
the moment. Substrate may eventually be reworked to get proper slog support, including sending
information to the telemetry.
The Telemetry struct implements Stream and must be polled regularly (or sent to a
background thread/task) in order for the telemetry to properly function. Dropping the object
will also deregister the global logger and replace it with a logger that discards messages.
The Stream generates TelemetryEvents.
Note: Cloning the
Telemetryand polling from multiple clones has an unspecified behaviour.
Example
use futures::prelude::*; let telemetry = sc_telemetry::init_telemetry(sc_telemetry::TelemetryConfig { endpoints: sc_telemetry::TelemetryEndpoints::new(vec![ // The `0` is the maximum verbosity level of messages to send to this endpoint. ("wss://example.com".into(), 0) ]).expect("Invalid URL or multiaddr provided"), // Can be used to pass an external implementation of WebSockets. wasm_external_transport: None, }); // The `telemetry` object implements `Stream` and must be processed. std::thread::spawn(move || { futures::executor::block_on(telemetry.for_each(|_| future::ready(()))); }); // Sends a message on the telemetry. sc_telemetry::telemetry!(sc_telemetry::SUBSTRATE_INFO; "test"; "foo" => "bar", )
Re-exports
pub use slog; |
Macros
| telemetry | Translates to |
Structs
| ExtTransport | Implementation of |
| Telemetry | Telemetry object. Implements |
| TelemetryConfig | Configuration for telemetry. |
| TelemetryEndpoints | List of telemetry servers we want to talk to. Contains the URL of the server, and the maximum verbosity level. |
Enums
| TelemetryEvent | Event generated when polling the worker. |
Constants
| CONSENSUS_DEBUG | |
| CONSENSUS_INFO | |
| CONSENSUS_TRACE | |
| CONSENSUS_WARN | |
| SUBSTRATE_DEBUG | Log levels. |
| SUBSTRATE_INFO |
Functions
| init_telemetry | Initializes the telemetry. See the crate root documentation for more information. |
| with_logger | Access the |