Skip to main content

observable_setup

Macro observable_setup 

Source
macro_rules! observable_setup {
    (
        service_name: $service_name:expr,
        metrics_prefix: $metrics_prefix:expr,
        otlp_endpoint: $otlp_endpoint:expr
        $(, log_level: $log_level:expr)?
        $(,)?
    ) => { ... };
    (
        metrics_prefix: $metrics_prefix:expr
        $(,)?
    ) => { ... };
    (
        service_name: $service_name:expr,
        metrics_prefix: $metrics_prefix:expr
        $(,)?
    ) => { ... };
}
Expand description

Simplifies observability stack initialization with a declarative syntax

ยงExamples

Basic setup with all features:

โ“˜
use ash_rpc::observability::observable_setup;

let observability = observable_setup! {
    service_name: "my-service",
    metrics_prefix: "my_app",
    otlp_endpoint: "http://jaeger:4317",
};

Minimal setup with just metrics:

โ“˜
let observability = observable_setup! {
    metrics_prefix: "my_app",
};

With custom logger:

โ“˜
let observability = observable_setup! {
    service_name: "my-service",
    metrics_prefix: "my_app",
    otlp_endpoint: env!("JAEGER_ENDPOINT"),
    log_level: "debug",
};