This crate aims to provide simple and easy-to-use distributed tracing functionality for Rust programs.
Previously, implementing distributed tracing in Rust programs required introducing external tracing libraries such as opentelemetry and tracing-subscriber, then configuring them according to documentation, which was very cumbersome.
This crate provides a simple way to quickly implement distributed tracing in Rust programs.
easy_tracing::init(
"app-name",
"INFO",
easy_tracing::LogFormat::Line,
Some("127.0.0.1:4317"),
);Where:
app-nameis the application nameINFOis the log levelLine/Jsonis the log format127.0.0.1:4317is the address of the OTLP gRPC tracing service
Logging is implemented using the tracing-subscriber library. After initialization, you can directly output logs through macros like tracing::info!() and tracing::error!(). Both Line and Json log formats are supported.
Distributed tracing is implemented using the OpenTelemetry SDK. It only supports output via the OTLP gRPC protocol, and by default, trace information will be included in the logs.
Manual metric instrumentation is not supported by default. It is recommended to use spanmetricsconnector to convert span data to metric data for observation rather than manual instrumentation.