Skip to content

Collection of convenience macros to use with Datadog tracing

License

Notifications You must be signed in to change notification settings

baz-scm/tracing-datadog-macros

Repository files navigation

tracing-datadog-macros

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


Crates.io Rust Release

🚀 What is 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.

Available Macros

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].


Install

Add the crate to your Cargo.toml:

[dependencies]
tracing-datadog-macros = "0.0.2"

Usage

Example

use tracing_datadog_macros::instrument_web;

#[instrument_web(skip(self))]
async fn process_data(&self, data: Data) {
    // Your logic here
}

🔗 Learn More

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

About

Collection of convenience macros to use with Datadog tracing

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages