Expand description
Observability (o11y) helpers for the NEAR codebase.
This crate contains all sorts of utilities to enable a more convenient observability implementation in the NEAR codebase.
The are three infrastructures:
tracing, for structured, hierarchical logging of events (seedefault_subscriberfunction in particular)metrics– convenience wrappers around prometheus metric, for reporting statistics.io-tracer– custom infrastructure for observing DB accesses in particular (mostly for parameter estimator)
Re-exports§
pub use env_filter::BuildEnvFilterError;pub use env_filter::EnvFilterBuilder;pub use tracing;pub use tracing_appender;pub use tracing_subscriber;pub use context::*;
Modules§
- context
- Custom tracing subscriber implementation that produces IO traces.
- env_
filter - log_
config - macros
- metrics
- A fork of the lighthouse_metrics crate used to implement prometheus
- testonly
Macros§
- handler_
debug_ span - A macro that lets attach
handle()functions to the tracing context that generated the actix message being processed. Creates a DEBUG-level span with the handler type name and the message type name as attributes. - handler_
span - Internal use only.
- handler_
trace_ span - A macro that lets attach
handle()functions to the tracing context that generated the actix message being processed. Creates a TRACE-level span with the handler type name and the message type name as attributes. - io_
trace - log_
assert - Asserts that the condition is true, logging an error otherwise.
- log_
assert_ fail - The same as ‘log_assert’ but always fails.
Structs§
- Options
- Configures exporter of span and trace data.
Enums§
Traits§
- Open
Telemetry Span Ext - Utility functions to allow tracing
Spans to accept and return OpenTelemetryContexts.
Functions§
- default_
subscriber - Constructs a subscriber set to the option appropriate for the NEAR code.
- default_
subscriber_ with_ opentelemetry - Constructs a subscriber set to the option appropriate for the NEAR code.
- reload
- Constructs new filters for the logging and opentelemetry layers.
- reload_
log_ config