Simplify Datadog tracing in Rust with specialized macros for enhanced code observability.
Baz on GitHub »
Install via Cargo
cargo add tracing-datadog-macros
Libraries Available
Rust: tracing-datadog-macros
tracing-datadog-macros
is a Rust library providing a collection of procedural macros to simplify and enhance Datadog tracing. It automates span creation and enriches them with context-critical fields, making tracing more actionable and efficient for distributed systems.
With tracing-datadog-macros
, your observability improves significantly, offering you crystal-clear insights into your application's behavior.
instrument_custom
: General-purpose instrumentation with custom attributes.
instrument_http
: Predefined for HTTP spans.
instrument_queue_consumer
: Optimized for queue consumers.
instrument_queue_producer
: For queue producers.
instrument_sql
: SQL-related spans.
instrument_web
: Specialized for web spans.
Parse and validate attributes provided by the user. Add required fields like span.type, service.name, and others. Integrate seamlessly with #[tracing::instrument].
Add the crate to your Cargo.toml
:
[dependencies]
tracing-datadog-macros = "0.0.2"
Example
use tracing_datadog_macros::instrument_web;
#[instrument_web(skip(self))]
async fn process_data(&self, data: Data) {
// Your logic here
}
Falken-Trace-Go library: https://github.com/baz-scm/falken-trace-go
Falken-Trace-py library: https://github.com/baz-scm/falken-trace-py
Blog post: Extending OpenTelemetry to Pinpoint Code Elements