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